汇总selenium利用xpath等找网页节点的方法(二)

此系列第一篇参考链接汇总selenium利用xpath等找网页节点的方法_小小爬虾的博客-CSDN博客

首先,所有的查找都可以使用driver.find_element(By.XPATH,"//button/span[text()='登录'] ")样式。

下面开始本篇,构建一个login_2.html。

复制代码
<button onclick="alert('你点击了按钮')" data-var="loginBtn" 
        data-type="click_navMembership" data-path="sign in" 
        class="nav-btn p0-sm body-3 u-bold ml2-sm mr2-sm" 
        data-pre="ILink" myname="prev_12345678">
    <span>登录</span>
</button>
<a href="http://www.baidu.com">百度搜索</a>

一、利用节点某个属性的值的部分内容进行定位,主要是利用substring函数

复制代码
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time

driver = webdriver.Chrome()
driver.get('D:\\LC\\PycharmProjects\\xpath_css_dingwei\\login_2.html')
#某个属性的值的指定部分,如myname="prev_12345678"中,只要求通过prev来定位(因为实际中后面的一串数字会随机变动)
#substring的作用是:从第X个字符开始的X个字符所构成的字符串
button = WebDriverWait(driver, 5).until(
    EC.element_to_be_clickable((By.XPATH, "//button[substring(@myname,1,4)='prev']"))
)

button.click()
time.sleep(5)
driver.quit()

二、利用节点某个属性的值的前面部分进行定位

复制代码
#substring-before,定位指定字符(如_)之前内容等于XX值的节点
button = WebDriverWait(driver, 5).until(
    EC.element_to_be_clickable((By.XPATH, "//button[substring-before(@myname,'_')='prev']"))
)

同样,还有后面部分进行定位

复制代码
#substring-after,定位_之后内容等于XX值的节点
相关推荐
卓码软件测评17 小时前
软件信创测试和软件首版次认定机构【使用Postman的Pre-request Script动态处理数据】
测试工具·ci/cd·性能优化·单元测试·测试用例
0思必得020 小时前
[Web自动化] Selenium元素定位
前端·python·selenium·自动化·html
weixin_4196583121 小时前
UISpy:Windows 界面控件的“显微镜“[特殊字符]
windows·python·测试工具·ui
网安CILLE21 小时前
Wireshark 抓包实战演示
linux·网络·python·测试工具·web安全·网络安全·wireshark
汽车仪器仪表相关领域21 小时前
双组分精准快检,汽修年检利器:MEXA-324M汽车尾气测量仪项目实战全解
大数据·人工智能·功能测试·测试工具·算法·机器学习·压力测试
天才测试猿1 天前
Chrome浏览器+Postman做接口测试
自动化测试·软件测试·python·测试工具·测试用例·接口测试·postman
线束线缆组件品替网1 天前
Panduit 数据中心布线设计实战解析
数码相机·测试工具·智能手机·电脑·pcb工艺·智能手表·智能电视
望未来无悔1 天前
自动化测试—Selenium(Java)
selenium·测试工具
0思必得01 天前
[Web自动化] Selenium元素属性和方法
前端·python·selenium·自动化·html
Jinkxs1 天前
AI - 测试工程师会被 AI 取代吗?我用 AI 测试工具干了 3 个月,结论很意外
人工智能·测试工具