准备工作1:安装好python+pycharm
准备工作2:安装好selenium第三方库+下载好对应浏览器的驱动
python官网下载地址:https://www.python.org/
pycharm官网下载地址:https://www.jetbrains.com/pycharm/
chrome浏览器驱动下载地址:http://chromedriver.storage.googleapis.com/index.html
Firefox浏览器驱动下载地址:https://github.com/mozilla/geckodriver/releases
IE浏览器驱动下载地址:http://selenium-release.storage.googleapis.com/index.html
selenium安装命令:进入cmd命令,输入pip insatll seleium,等待安装成功即可
1.id定位:driver.find_element(By.ID,'ID值')
2.name定位:driver.find_element(By.NAME,'NAME值')
3.class_name定位:driver.find_element(By.CLASS_NAME,'CLASS_NAME值')
4.link_text(超链接文本内容)定位:driver.find_element(By.LINK_TEXT,'LINK_TEXT值')
5.PARTIAL_LINK_TEXT(超链接部分文本内容)定位:driver.find_element(By.PARTIAL_LINK_TEXT,'PARTIAL_LINK_TEXT部分值')
6.XPATH定位--绝对路径定位:driver.find_element(By.XPATH,'元素绝对路径')--可f12定位到该元素之后右键直接cp,对html有所了解也可自己写
7.XPATH定位--单个元素定位:driver.find_element(By.XPATH,'//标签名【@属性名="属性值"】')
8.XPATH定位--多个元素定位:driver.find_element(By.XPATH,'//标签名【@属性名="属性值" and @属性名="属性值"】')
9.XPATH定位--部分属性值定位1(statrts-with()属性值以什么开头):driver.find_element(By.XPATH,'//标签名【函数名(@属性名="部分属性值")】')
10.XPATH定位--部分属性值定位2(contains()属性值包含什么):driver.find_element(By.XPATH,'//标签名【函数名(@属性名="部分属性值")】')
ps:classname定位方式不建议使用,因为重复性太高
附上代码:
import selenium,time
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.service import Service
service = Service(executable_path='D:\driver\chromedriver.exe')
driver = webdriver.Chrome(service=service)
# 窗口最大化
driver.maximize_window()
# 填入目标地址url
driver.get('https://www.baidu.com')
time.sleep(1)
# 使用name定位百度搜素输入框
driver.find_element(By.NAME, 'wd').send_keys('猫')
# 使用id定位百度确定搜索按钮
driver.find_element(By.ID, 'su').click()
time.sleep(2)
# 后退页面
driver.back()
time.sleep(2)
# 通过xpath定位百度搜索输入框
driver.find_element(By.XPATH, '//*[@id="kw"]').send_keys('狗')
# 通过xpath单个元素定位百度搜索按钮
driver.find_element(By.XPATH, '//input[@value="百度一下"]').click()
time.sleep(1)
# 后退页面
driver.back()
time.sleep(1)
# 通过xpath多个元素定位百度搜索输入框
driver.find_element(By.XPATH, '//input[@name="wd" and @id="kw"]').send_keys('猪')
time.sleep(1)
# 通过xpath部分属性值定位:starts-with()以什么开头
driver.find_element(By.XPATH, '//input[starts-with(@value, "百度")]').click()
time.sleep(1)
# 后退页面
driver.back()
driver.find_element(By.XPATH, '//a[contains(@href, "news.baidu")]').click()
time.sleep(1)
# 后退页面
driver.back()
time.sleep(2)
# 关闭浏览器
driver.quit()
版权归原作者 cike_jay 所有, 如有侵权,请联系我们删除。