20171017学习笔记Selenium 2 第四章WebDriver API 4.8定位一组元素4.9多表单切换4.10多窗口切换
2017-10-17 14:54
645 查看
4.8定位一组元素
定位一组元素和定位一个元素方法类似,是讲element变成elements。
find_elements_by_id()
场景:
批量操作元素:例如,勾选复选框上所有的复选框。
先获取一组元素,再从这组元素中过滤出须要操作的元素。
inputs=driver.find_elements_by_tag_name("input")
foriininputs:
ifi.get_attribute("type")=='checkbox':
i.click()
time.sleep(1)
#driver.quit()
4.9多表单切换
涉及到frame/iframe表单嵌套页面的应用,无法直接定位。Webdriver只能对一个页面上的元素定位。switch_to.frame()可以切换表单。
driver.switch_to.frame("id")
driver.switch_to.parent_content()跳出当前表单。
driver.switch_to.default_content()调回最外层的页面
4.10多窗口切换
switch_to.window()方法来切换窗口
#coding=utf-8
fromseleniumimportwebdriver
importtime
driver = webdriver.Firefox()
driver.implicitly_wait(10)
url="http://bbs.u.360.cn"
driver.get(url)
#获得首页窗口句柄
first_windows=driver.current_window_handle
first_name=driver.find_element_by_xpath(".//*[@id='js_bbs_recommended_games']/div/dl[2]/dt/a/p").text
print(first_name)
driver.find_element_by_xpath("//*[@id='js_bbs_recommended_games']/div/dl[2]/dt/a/div/img").click()
all_handles= driver.window_handles
print(all_handles)
#进入列表页
[b]forhandleinall_handles:
ifhandle
!=first_windows:
driver.switch_to.window(handle)
print('现在在列表页!')
game_name=driver.find_element_by_css_selector('.mr20.game_name').text
print('当前游戏名称是%s'%(game_name)
)
#回到首页
forhandleinall_handles:
ifhandle
== first_windows:
driver.switch_to.window(handle)
print('现在在首页')
driver.find_element_by_id("key-words").send_keys("hello")
driver.find_element_by_id('search-a').click()
sleep(5)
driver.quit()
定位一组元素和定位一个元素方法类似,是讲element变成elements。
find_elements_by_id()
场景:
批量操作元素:例如,勾选复选框上所有的复选框。
先获取一组元素,再从这组元素中过滤出须要操作的元素。
inputs=driver.find_elements_by_tag_name("input")
foriininputs:
ifi.get_attribute("type")=='checkbox':
i.click()
time.sleep(1)
#driver.quit()
4.9多表单切换
涉及到frame/iframe表单嵌套页面的应用,无法直接定位。Webdriver只能对一个页面上的元素定位。switch_to.frame()可以切换表单。
driver.switch_to.frame("id")
driver.switch_to.parent_content()跳出当前表单。
driver.switch_to.default_content()调回最外层的页面
4.10多窗口切换
switch_to.window()方法来切换窗口
#coding=utf-8
fromseleniumimportwebdriver
importtime
driver = webdriver.Firefox()
driver.implicitly_wait(10)
url="http://bbs.u.360.cn"
driver.get(url)
#获得首页窗口句柄
first_windows=driver.current_window_handle
first_name=driver.find_element_by_xpath(".//*[@id='js_bbs_recommended_games']/div/dl[2]/dt/a/p").text
print(first_name)
driver.find_element_by_xpath("//*[@id='js_bbs_recommended_games']/div/dl[2]/dt/a/div/img").click()
all_handles= driver.window_handles
print(all_handles)
#进入列表页
[b]forhandleinall_handles:
ifhandle
!=first_windows:
driver.switch_to.window(handle)
print('现在在列表页!')
game_name=driver.find_element_by_css_selector('.mr20.game_name').text
print('当前游戏名称是%s'%(game_name)
)
#回到首页
forhandleinall_handles:
ifhandle
== first_windows:
driver.switch_to.window(handle)
print('现在在首页')
driver.find_element_by_id("key-words").send_keys("hello")
driver.find_element_by_id('search-a').click()
sleep(5)
driver.quit()
相关文章推荐
- 20170922学习笔记Selenium 2第四章WebDriver API 4.1定位元素
- 20171013学习笔记Selenium 2 第四章WebDriver API 4.6获得验证消息 4.7设置元素等待
- 20171012学习笔记Selenium 2 第四章WebDriver API 4.2控制浏览器 4.3简单元素操作4.4鼠标事件4.5键盘事件
- 20171021学习笔记Selenium 2第四章WebDriver API 4.11警告处理4.14操作Cookie
- 【Selenium学习笔记】webdriver如何定位一组对象
- 【selenium学习笔记】webdriver进行页面元素定位
- webdriver(python)学习笔记四——定位一组元素
- selenium webdriver 学习总结-元素定位(一)
- selenium学习之Selenium Webdriver元素定位的八种常用方式
- Selenium webdriver 学习总结-元素定位
- selenium webdriver——多表单切换与多窗口切换
- selenium webdriver 学习总结-元素定位(一)
- selenium webdriver 学习总结-元素定位
- Selenium webdriver 学习总结-元素定位
- 轻松自动化---selenium-webdriver(python) (四)--如何定位一组元素?
- Selenium + Webdriver 学习(四) 元素定位方法
- selenium webdriver 学习总结-元素定位
- Selenium webdriver 学习总结-元素定位
- Selenium webdriver 学习总结-元素定位
- Selenium学习笔记之007:定位一组元素