selenium环境配置和八大元素定位
一.环境配置
1.selenium下载安装
安装一:pip install selenium(多数会超时安装失败)
安装二:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple selenium(使用清华园镜像下载)
2.webdriver下载
下载地址:http://chromedriver.storage.googleapis.com/index.html(谷歌为例)
下载时选择与当前谷歌浏览器版本一致或相近的版本去下载,下载完成后解压到python解释器目录下
二.八大元素
1.ID
ID具有唯一性,若是当前标签含有id属性,可以优先使用id定位。
from selenium import webdriver from time import sleep from selenium.webdriver.common.by import By driver = webdriver.Chrome() # 实例化浏览器对象 driver.get('https://www.bing.com') # 设置跳转网页 driver.find_element(by=By.ID, value='sb_form_q').send_keys('我是好人') # id定位 sleep(3) # 等待3s driver.quit() # 关闭网页
by表示当前使用什么元素定位,我们可以进入By模块里可以看到By类下的八种属性,value表示当前
属性的值,send_keys赋值。
2.NAME
name属性不唯一,一个页面可能有多个相同的name值,所以使用时要确保该属性值是唯一的
driver_name = driver.find_element(by=By.NAME, value='q') driver_name.send_keys("作者是帅哥")
3.CLASS_NAME
driver_name = driver.find_element(by=By.CLASS_NAME, value='sb_form_q') driver_name.send_keys("作者是帅哥")
4.LINK_TEXT
用于标签定位
driver_name = driver.find_element(by=By.LINK_TEXT, value='文案') driver_name.click() # click点击事件
value的值要和文案的值相等,click()点击超链接
5.PARTIAL_LINK_TEXT
PARTIAL_LINK_TEXT与LINK_TEXT相似,都是用于超链接,区别在于前置value为模糊查询,后者匹配相等
driver_name = driver.find_element(by=By.LINK_TEXT, value='案') driver_name.click() # click点击事件
6.TAG_NAME