0


selenium元素定位

准备工作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()

本文转载自: https://blog.csdn.net/qq_54083644/article/details/127036764
版权归原作者 cike_jay 所有, 如有侵权,请联系我们删除。

“selenium元素定位”的评论:

还没有评论