元素定位和属性操作练习题
目录
练习2:针对上面的案例,我们只要选中复选框,针对单选框不做选中的操作,该如何实现?
练习3:进入百度新闻 http://news.baidu.com/
练习4: 12306订票,url:https://kyfw.12306.cn/otn/leftTicket/init?linktypeid=dc
练习5:进入百度,输入hello world,点击百度一下,判断hello world是否在搜索的结果中?
练习1:勾选下图中的所有的选项,包括复选框和单选框,
文件:附件
思路:
首先分析页面,有3个复选框checkbox, 1个单选框radio
右键检查页面
可以看到这些复选框和单选框的父级元素class都是controls
我们可以取出class_name为control-group的元素,并逐个遍历
再通过input这个标签定位到这个勾选框进行点击操作
示例代码:
这其中还涉及到用selenium打开本地html文件,只需要get的参数写成 file://文件路径即可
import time
from selenium import webdriver
# 练习1
driver = webdriver.Chrome()
#打开本地html文件
driver.get("file:///Users/dolphin/Documents/学习培训/python自动化/demo/file1.html")
# 获取class为controls的元素 并存入列表
controls = driver.find_elements_by_class_name("controls")
for ele in controls:
# 再通过input标签定位到勾选框进行点击
ele.find_element_by_tag_name("input").click()
# sleep 1秒方便观察操作
time.sleep(1)
driver.quit()
练习2:针对上面的案例,我们只要选中复选框,针对单选框不做选中的操作,该如何实现?
思路:同练习1
这次需要找出复选框和单选框的不同之处
可以看到复选框的type是checkbox,单选框的type是radio
那么只需要使用xpath选出type是checkbox的元素组即可
示例代码
import time
from selenium import webdriver
#练习2
driver = webdriver.Chrome()
driver.get("file:///Users/dolphin/Documents/学习培训/python自动化/demo/file1.html")
# 这里使用xpath 或者css_selector 都可以
controls = driver.find_elements_by_xpath('//*[@type="checkbox"]')
#controls = driver.find_elements_by_css_selector('[type="checkbox"]')
for ele in controls:
ele.click()
time.sleep(1)
driver.quit()