目录
选择元素:
根据 id属性 选择元素
根据 class属性 选择元素
根据 tag 名 选择元素
find_element 和 find_elements 的区别
css表达式
根据 tag名
根据id属性
根据class属性
根据属性选择
如果一个元素具有多个属性
Xpath语法简介
绝对路径选择
根据id属性选择
根据class属性选择
选择元素: 根据 id属性 选择元素
from selenium import webdriver
from selenium.webdriver.common.by import By
# 创建 WebDriver 实例对象,指明使用chrome浏览器驱动
wd = webdriver.Chrome(r'D:/chromedriver.exe')
# chromedriver.exe官方版是Chromium team开发维护的,它是实现WebDriver有线协议的一个单独的服务。 ChromeDriver通过chrome的自动代理框架控制浏览器,ChromeDriver只与12.0.712.0以上版本的chrome浏览器兼容。
# WebDriver 实例对象的get方法 可以让浏览器打开指定网址
wd.get('https://www.baidu.com')
# 根据 class name 选择元素,返回的是 一个列表
# 里面 都是class 属性值为 animal的元素对应的 WebElement对象
element=wd.find_element(By.ID,'kw').send_keys("菜鸟教程")
#kw是检查html编码,send_keys(“”)是输入框中输入的内容
element=wd.find_element(By.ID,'su').click()
#clike是点击按钮
根据 class属性 选择元素
from selenium import webdriver
from selenium.webdriver.common.by import By
# 创建 WebDriver 实例对象,指明使用chrome浏览器驱动
wd = webdriver.Chrome(r'D:/chromedriver.exe')
# WebDriver 实例对象的get方法 可以让浏览器打开指定网址
wd.get('https://www.baidu.com')
# 根据 class name 选择元素,返回的是 一个列表
# 里面 都是class 属性值为 animal的元素对应的 WebElement对象
element=wd.find_element(By.CLASS_NAME,'mnav.c-font-normal.c-color-t').click()
根据 tag 名 选择元素
from selenium import webdriver
from selenium.webdriver.common.by import By
# 创建 WebDriver 实例对象,指明使用chrome浏览器驱动
wd = webdriver.Chrome(r'D:/chromedriver.exe')
# WebDriver 实例对象的get方法 可以让浏览器打开指定网址
wd.get('https://www.baidu.com')
# 根据 class name 选择元素,返回的是 一个列表
# 里面 都是class 属性值为 animal的元素对应的 WebElement对象
element=wd.find_element(By.TAG_NAME,'area').click()
#定位百度图案,click()是点击打开
find_element 和 find_elements 的区别
使用 find_elements
选择的是符合条件的 所有
元素, 如果没有符合条件的元素, 返回空列表
使用 find_element
选择的是符合条件的 第一个
元素, 如果没有符合条件的元素, 抛出 NoSuchElementException 异常
element= wd.find_element(By.CSS_SELECTOR, 'area')
等于
element=wd.find_element(By.TAG_NAME, 'area')
根据id属性
element=wd.find_element(By.CSS_SELECTOR,'#kw').send_keys("菜鸟教程")
#kw是检查html编码,send_keys(“”)是输入框中输入的内容
element=wd.find_element(By.CSS_SELECTOR,'#su').click()
根据class属性
element=wd.find_element(By.CSS_SELECTOR,'.mnav.c-font-normal.c-color-t').click()
根据属性选择
HTML代码
〈a href= "http://news.baidu.com" target=" blank" >新闻
element = wd.find_element(By.CSS_SELECTOR, '[href="http://news.baidu.com"]').click()
# 打印出元素对应的html
print(element.get_attribute('outerHTML'))
2.比如
要选择a节点,里面的href属性包含了 news字符串,就可以这样写
element = wd.find_element(By.CSS_SELECTOR, 'a[href*="news"]').click()
3.比如
要选择a节点,里面的href属性以 .com 结尾 ,就可以这样写
element = wd.find_element(By.CSS_SELECTOR, 'a[href$="baidu.com"]').click()
如果一个元素具有多个属性
CSS 选择器可以指定选择的元素要同时具有多个属性的限制,像这样
div[class=misc][ctype=gun]
Xpath语法简介 绝对路径选择
elements = driver.find_elements(By.XPATH, "/html/body/div")
这个表达式表示选择html下面的body下面的div元素。
根据id属性选择
element=wd.find_element(By.XPATH,'//input[@id="kw"]').send_keys("菜鸟教程")
#kw是检查html编码,send_keys(“”)是输入框中输入的内容
element=wd.find_element(By.XPATH,'//input[@id="su"]').click()
根据class属性选择
element=wd.find_element(By.XPATH,'//input[@]').send_keys("菜鸟教程")
#kw是检查html编码,send_keys(“”)是输入框中输入的内容
element=wd.find_element(By.XPATH,'//input[@]').click()
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)