css
- 提示:
- 在selenium中推荐使用css定位,它的定位比xpath比较快
- css选择器语法比较强大
- 定位方法:find_element_by_css_selector()
- 定义:css是用于在selenium中定位元素的
- 定位策越
- id选择器
- 表达式:#id
- #表示通过元素的ID属性进行元素的选择
- id表示id属性的属性值
- 表达式:#id
- class选择器
- 表达式:.class
- .表示的是元素的class属性进行选择元素选择
- clas表示的是class属性的其中一个属性值
- 表达式:.class
- 元素选择器
- 定义:通过元素标签名称来选择元素
- 表达式:tar_name,不推荐使用
- 属性选择器
- 就是通过元素属性进行选择元素
- 表达式:[attribute='value']
- 注意点:如果使用class属性,需要class全部的值
- 层级选择器
- 根据父子关系来进行选择元素
- 表达式:
- 父子关系 element1>element2 element2 是element1直接子元素
- 隔代关系 element1 element2 element2 是element1后代子元素
- 案例
-
# 导包 import time from selenium import webdriver # 加载浏览器驱动 driver=webdriver.Chrome(); # 打开测试网站 driver.get("file:///D:/BaiduNetdiskDownload/UI%E8%87%AA%E5%8A%A8%E5%8C%96/web%E8%87%AA%E5%8A%A8%E5%8C%96%E5%B7%A5%E5%85%B7%E9%9B%86%E5%90%88/pagetest/%E6%B3%A8%E5%86%8CA.html") # 等待3s time.sleep(3) # 输入用户名 lisisi id选择器 driver.find_element_by_css_selector("#userA").send_keys("lisisi") # 输入用户名 lisisi class选择器 driver.find_element_by_css_selector(".emailA").send_keys("lisisi@qq.com") time.sleep(3) # 关闭浏览器驱动 driver.quit()
2.
# 导包 import time from selenium import webdriver # 加载浏览器驱动 driver=webdriver.Chrome(); # 打开测试网站 driver.get("file:///D:/BaiduNetdiskDownload/UI%E8%87%AA%E5%8A%A8%E5%8C%96/web%E8%87%AA%E5%8A%A8%E5%8C%96%E5%B7%A5%E5%85%B7%E9%9B%86%E5%90%88/pagetest/%E6%B3%A8%E5%86%8CA.html") # 等待3s time.sleep(3) # 输入用户名 lisisi 元素选择器 driver.find_element_by_css_selector("input").send_keys("lisisi") # 输入电子邮箱 lisisi 属性选择器 driver.find_element_by_css_selector("[class='emailA dzyxA']").send_keys("lisisi@qq.com") time.sleep(3) # 关闭浏览器驱动 driver.quit()
3.
# 导包 层级选择器 import time from selenium import webdriver # 加载浏览器驱动 driver=webdriver.Chrome(); # 打开测试网站 driver.get("file:///D:/BaiduNetdiskDownload/UI%E8%87%AA%E5%8A%A8%E5%8C%96/web%E8%87%AA%E5%8A%A8%E5%8C%96%E5%B7%A5%E5%85%B7%E9%9B%86%E5%90%88/pagetest/%E6%B3%A8%E5%86%8CA.html") # 等待3s time.sleep(3) # 输入用户名 lisisi 层级选择器 driver.find_element_by_css_selector("#pa>#userA").send_keys("lisisi") time.sleep(3) # 关闭浏览器驱动 driver.quit()
4.css扩展
-
input[type^='p'] value开头
-
input[type$='p'] value结束
-
input[type*='p'] value任意字符
-
-
-
元素另外一种写法
-
通过By类实现
-
# 导包 import time from selenium import webdriver # 打开浏览器驱动对象 from selenium.webdriver.common.by import By drivder=webdriver.Chrome(); # 打开网站 drivder.get("file:///D:/BaiduNetdiskDownload/UI%E8%87%AA%E5%8A%A8%E5%8C%96/web%E8%87%AA%E5%8A%A8%E5%8C%96%E5%B7%A5%E5%85%B7%E9%9B%86%E5%90%88/pagetest/%E6%B3%A8%E5%86%8CA.html") # 电话号码输入18112345678 drivder.find_element(By.CLASS_NAME,"telA").send_keys("18112345678"); # 邮箱输入licheng@baidu.com drivder.find_element(By.CLASS_NAME,"emailA").send_keys("licheng@baidu.com"); # 等待3秒 time.sleep(3); # 关闭浏览器驱动 drivder.quit();
-
-
- id选择器