Selenium通过文本定位并且实现操作

这篇具有很好参考价值的文章主要介绍了Selenium通过文本定位并且实现操作。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Selenium通过文本定位并且实现操作

背景

对于Selenium初学者来说,定位方式采用精准定位作为简单也就是通过获取精准的位置信息进行定位。例如://*[@id="s-top-left"]/a[1],通过语句driver.find_element(By.XPATH,'//*[@id="s-top-left"]/a[1]')即可以精准的进行定位元素,但是此场景只针对这一个页面,也就是说类似的并不通用并且当页面发生小规模改动时,也会对定位结果产生影响。这时候我们就可以考虑通过文本去定位元素,当然文本要保证唯一性才能进行下步操作(单单获取信息那就不必考虑这么多了)。

语法

在实现这个功能时我们采用两种方式,一个是精准定位文本,意思就是说文本信息全部匹配才能返回正确值:driver.find_element(By.XPATH, "//a[text()='新闻']"),但是通常我们使用时并不需要非常精准,这样反而会给我们自己造成困扰,因此我们会采用模糊匹配进行定位:driver.find_element(By.XPATH, "//*[contains(text(),'新闻')]"),这样只要部分匹配即可以输出结果。

验证

我们以百度为例,代码如下:

mport time

from selenium import webdriver
from selenium.webdriver.common.by import By
# 请求网址
url = 'https://www.baidu.com/'
# 实例化
driver = webdriver.Chrome()
# 获取该网址信息
driver.get(url)
# 模糊匹配,通过文本定位信息
content = driver.find_element(By.XPATH, "//*[contains(text(),'新闻')]")
# 完全匹配
# content=driver.find_element(By.XPATH, "//a[text()='新闻']")
# 输出定位结果
print(content.text)
# 关闭浏览器
driver.close()

最终得出的结果为:

D:\pythonProject\venv\Scripts\python.exe D:\pythonProject\venv\csdn.py 
新闻

Process finished with exit code 0

往往返回结果并不是我们想要的,我们只是为了定位元素,然后进行下一步操作,如下我做了一个点击的操作,那么他就可以实现页面跳转功能:

content = driver.find_element(By.XPATH, "//*[contains(text(),'新闻')]").click()

结果为:
selenium根据文本定位,Selenium学习,selenium,python,chrome

总结

对于比较复杂的场景,只能知道自己想定位什么文本,却不知道怎么定位到这个地址的时候,我们可以采用这种方法进行实现。愿对你有所帮助!文章来源地址https://www.toymoban.com/news/detail-527240.html

到了这里,关于Selenium通过文本定位并且实现操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • selenium通过xpath定位元素报错?

    1.xpath介绍 XPath 是一门在 XML 文档中查找信息的语言。XPath 用于在 XML 文档中通过元素和属性进行导航。而html中也应用了这种语言 ,所以 ,我们定位html页面元素时也会用到xpath这种方法 。 2.xpath定位方式 xpath主要通过以下四种方法定位 : 路径定位 属性定位 多属性定位 路径

    2024年04月09日
    浏览(47)
  • python之selenium库安装及用法(定位法、获取文本、文本框输入、鼠标点击、滑动滚动条)

    谷歌浏览器驱动下载地址:https://chromedriver.storage.googleapis.com/index.html 根据你电脑的谷歌浏览器版本,下载相应的就行。我下载的是110.0.5481.XX中的chromedriver_win32.zip 下载完成,解压将里面的chromedriver.exe放到你python安装路径的scripts文件夹中。 能打开百度网页说明安装成功 (一

    2023年04月27日
    浏览(50)
  • selenium通过xpath定位text换行的元素

    DOM元素(该元素是换行的,不能通过普通xpath定位):  可使用下面xpath定位该div 解释一下就是:定位“ 子节点的text是[5] 且 子节点弟弟的text是[点] ”的div

    2024年02月11日
    浏览(57)
  • selenium【元素定位与操作】

    定位元素 [@属性=‘属性值’] [@属性] [tag] [text()=‘文本’] 返回的是元素两个间的文本 [contains(text(),“元素两个间的部分文本”)] [contains(@属性名,“部分属性值”)] 定位下拉列表的某个选项:driver.find_element(By.XPATH,‘//option[text()=“联想”]’) driver.find_element(By.XPATH,‘//o

    2024年04月18日
    浏览(57)
  • selenium元素定位与操作

    说明:本篇博客基于selenium 4.1.0 在selenium中,想要对元素进行操作,一般需要如下步骤: 在浏览器中查看元素属性,便于selenium在页面中找到该元素 在代码中创建元素对象 元素操作、获取元素信息 方法1:右键-检查 方法2:设置-更多工具-开发者模式 方法3:默认快捷键F12 出

    2024年02月15日
    浏览(46)
  • selenium页面元素定位、操作

       1、通过页面开发者工具(点击键盘F12或者空白处右击点击检查)中的element,查看页面html代码; 2、点击开发者工具左上角鼠标按钮; 3、鼠标移动至需要定位元素位置; 4、高亮显示; 5、右击选择定位方式。 1 打开 / 关闭浏览器 注意: 关闭浏览器close和quit的区别: 以

    2023年04月08日
    浏览(51)
  • selenium元素定位方式及常用操作

    要想操作一个对象,首先应该识别这个对象。 定位方式有很多,但是要保证这种方式存在,且能够唯一的定位到这个元素。 1、用 id 来定位 优先选择 ※ 首先在 Chrome 浏览器上把鼠标放到搜索框,鼠标右击选择开发者模式(快捷键:f12),查看对应 id 名 2、用 name 来定位 在开

    2024年02月02日
    浏览(134)
  • 【Python+Selenium学习系列5】Selenium特殊元素定位之-鼠标悬停操作

    Selenium模拟用户在浏览器中的操作,比如点击按钮。在某些场景下,我们需要 模拟鼠标悬停的操作,来触发一些隐藏的元素。 本文将介绍Python Selenium实现鼠标悬停操作。 鼠标悬停,即 当光标与其名称表示的元素重叠时触发的事件,在Selenium中将键盘鼠标操作封装在Action Cha

    2024年04月10日
    浏览(72)
  • (三) selenium元素定位和常用操作(下)

    上一篇:(二) selenium元素定位(上)_要开朗的spookypop的博客-CSDN博客 本篇继续介绍常用的元素定位和常用操作。 通过链接文本定位 alerts弹窗 浏览器窗口操作 1、通过链接文本定位 上图是一个返回首页的链接,点击后跳转到首页,元素定位关键代码: driver.find_element(By.LINK_TEXT,

    2024年02月11日
    浏览(51)
  • 从0开始python学习-31.selenium 文本输入框、下拉选择框、文件上传、时间插件选择元素定位

    目录 1. 纯文本输入框 2. 存在默认值的文本输入  3. 下拉选择框 4. 输入后下拉选择框 5. 文件上传 6. 时间插件 注意: 1. 这种存在默认值的情况在做自动化测试的时候可以选择不做处理,直接略过该元素,也可以先将默认值清除后再进行输入的方式进行测试 2.如果是下图这种

    2024年02月06日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包