首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Firefox和geckodriver更新后定位器出现问题

Firefox和geckodriver更新后定位器出现问题
EN

Stack Overflow用户
提问于 2021-10-12 07:12:49
回答 1查看 59关注 0票数 0

我们有一个Vaadin技术的网站。

代码语言:javascript
运行
AI代码解释
复制
Test environment:
firefox-56.0.1 
geckodriver: 0.20.0 
Robotframework 4.1.1
selenium       3.141.0 
Python 3.7.3 

这个Python脚本正在工作,机器人可以点击这个定位器。

代码语言:javascript
运行
AI代码解释
复制
GetElement.py

    def Get_Element_hmenu():
        Lib = BuiltIn().get_library_instance('SeleniumLibrary')
        Driver = Lib.driver
        host1 = Driver.find_element_by_xpath("//vaadin-context-menu-item[@id='FILE_MENU']")
        return host1

test.robot<br>
<br>

       ${Element}=  Get_Element_hmenu
       Log  ${Element}
       Click Element   ${Element}

如果我更新这个组件

代码语言:javascript
运行
AI代码解释
复制
Firefox 92.0.1
Geckodriver  0.30.0

After update不能运行此代码。

代码语言:javascript
运行
AI代码解释
复制
NoSuchElementException: Message: Unable to locate element: //vaadin-context-menu-item[@id='FILE_MENU']

你知道我该怎么做吗?非常感谢

HTML代码enter image description here

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-02 10:34:43

Firefox63增加了对Shadow DOM的支持。在之前的Firefox56设置中,使用了shadydom polyfill,因为没有阴影根封装,所以可以在元素查询中找到vaadin-context-菜单项。

更新Firefox版本后,会出现卷影根,您需要在其中进行搜索。查看屏幕截图中的dom树,您需要选择vaadin-menu-bar中的影子根,并在该上下文中搜索vaadin- context -菜单项。This answer有一些如何做到这一点的例子。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69542990

复制
相关文章
geckodriver、selenium、firefox版本对应关系
最近用selenium在centos服务器部署爬虫项目,centos默认安装了火狐浏览器,相应的驱动为geckodriver
week
2020/06/30
3.7K0
geckodriver、selenium、firefox版本对应关系
官方文档:https://firefox-source-docs.mozilla.org/testing/geckodriver/Support.html
week
2020/06/30
1.8K0
selenium自动化测试资源整理(chrome,chromedriver、firefox,geckodriver)
版权声明:如需转载本文章,请保留出处! https://blog.csdn.net/xc_zhou/article/details/80871369
周小董
2019/06/11
1.2K0
geckodriver linux
下载对应的 geckodriver 压缩包 https://github.com/mozilla/geckodriver/releases
李玺
2021/11/22
5050
geckodriver linux
centos7 更新Firefox版本
1.用你本地的旧版 firefox,访问http://www.firefox.com.cn,下载Linux版本的Firefox,因为我的是64位故选择的安装包是:”Firefox-latest-x86_64.tar.bz2“。
周小董
2019/03/25
2.3K0
Selenium4前线快报
自2018年发布以来,Selenium框架的最新版本Selenium 4已成为人们谈论的话题。Selenium 4显而易见即将引领潮流,因为它拥有许多新功能和增强功能。虽然没有正式宣布Selenium 4的最终版本,但用户和测试自动化爱好者已经开始通过下载Selenium 4 Alpha版本进行探索和试验。
FunTester
2021/07/23
1.2K0
《手把手教你》系列技巧篇(十一)-java+ selenium自动化测试-元素定位大法之By tag name(详细教程)
按宏哥计划,本文继续介绍WebDriver关于元素定位大法,这篇介绍By ClassName。看到ID,NAME这些方法的讲解,小伙伴们和童鞋们应该知道,要做好Web自动化测试,最好是需要了解一些前端的基本知识。有了前端知识,做元素定位会很轻松,同样写网络爬虫也很有帮助,话题扯远了,回到Selenium自动化测试。tagName是DOM结构的一部分,其中页面上的每个元素都是通过输入标签,按钮标签或锚定标签等标签定义的。每个标签都具有多个属性,例如ID,名称,值类等。就其他定位符而言在Selenium中,我们使用了标签的这些属性值来定位元素。 对于Selenium中的tagName定位器,我们将仅使用标签名称来标识元素。
北京-宏哥
2021/08/05
2.1K0
selenium 3.0.1遇到问题的解决方案
迄今为止,我个人认为,selenium是最好使用的web应用程序的自动化测试框架,不仅仅因为它是开源的优势之一,更加重要的是它可以支持的语言比较多,像我们熟悉的java,python,c#等,更加开心的是,selenium官方更新和发布了selenium3.0.1版本,selenium版本都是2.x的。
无涯WuYa
2018/10/25
1.2K0
selenium 3.0.1遇到问题的解决方案
避坑指南 | 卸载VMware后再安装出现问题!
VMware这个矫情的小贱人!在卸载的时候有可能存在卸载不干净的情况,下次重新安装就会提示⬇
课代表
2018/11/23
5.6K2
手把手包教会_手把手地教是什么意思
Selenium是一个用于web自动化测试的框架,在使用Ajax请求数据的页面中,会出现 sign ,token等密钥,如果考虑去激活成功教程可能花费的精力较多,所以考虑借助使用Selenium框架来实现数据爬取。
全栈程序员站长
2022/11/01
1.6K0
手把手包教会_手把手地教是什么意思
python 3 的selenium模块
----http://blog.csdn.net/u010637662/article/details/53612197
py3study
2020/01/06
5150
Selenium 2.0与Selenum 3.0介绍
什么是Selenium Selenium是一组web自动化测试工具集,它由以下几个部分构成: Selenium IDE(Integrated Development Environment) 这是Firefox浏览器的一个插件,用于录制和回放selenium测试脚本。 WebDriver和RC 它提供了各种编程语言API的支持,例如java、python、ruby、php、.net等等,能够与不同的浏览器进行交互,驱动浏览器进行自动化测试。 Grid 它提供了分布式测试和并行测试的能力,能够帮助我们大幅的减
苦叶子
2018/04/04
9900
Selenium 2.0与Selenum 3.0介绍
【终极答案】搭建selenium3.11 +Firefox+python3.6自动化UI测试环境踩的坑
1 运行之后,出现如下报错 Selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH  信息显示 geckodriver需要在path环境变量中 解决方法: 下载geckodriver,地址为:https://github.com/mozilla/geckodriver/releases 找到下载目录,将geckodriver.exe的安装路径添加到path里面;一
互联网金融打杂
2018/04/18
7940
在Ubuntu服务器上使用python3+selenium模块
这里主要是安装firefox 和 D-BUS(想要在服务器上面运行Firefox就需要安装D-bus)、虚拟桌面服务xvfb,然后测试firefox是否可以正常运行,然后再安装Gechkdriver,然后配置好相关的环境即可 
指剑
2022/07/15
2K0
Selenium Firefox驱动程序:使用Firefox浏览器自动进行测试
根据statcounter统计,到2020年6月,Mozilla Firefox浏览器在全球浏览器市场中所占份额为4.25%,因此,对于每个Selenium测试用例,Mozilla Firefox浏览器都是不可避免的。 Mozilla开发人员推出了Geckodriver(也称为Selenium Firefox驱动程序),以帮助测试人员使用Firefox浏览器自动进行浏览器测试。
用户7466307
2020/07/20
9.3K0
Selenium Firefox驱动程序:使用Firefox浏览器自动进行测试
Selenium Python使用技巧(二)
您可能需要在多种情况下针对不同的浏览器(例如Firefox,Chrome,Internet Explorer,Edge)测试代码。跨不同浏览器测试网站的做法称为自动浏览器测试。要使用Selenium自动化测试执行自动浏览器测试,您应该在单元测试代码或pytest代码中合并对这些浏览器的选择性处理。下面显示了一个代码片段(利用pytest)来处理多个浏览器:
FunTester
2020/02/17
6.5K0
定位器模块
随着物联网的兴起,智能插座、智能空气净化器、智能扫地机器人等产品逐渐出现在人们的生活中。近来,通过嘉立创开源的定位器项目,对移远通信模块进行了调试,为后续应用于实际项目提供前期基础,具体结果如下所示:
联远智维
2022/08/31
9030
定位器模块
Firefox driver 那些事~
1. selenium 3.x开始,webdriver/firefox/webdriver.py的__init__中,executable_path=”geckodriver”;而2.x是executable_path=”wires” 2. firefox 47以上版本,需要下载第三方driver,即geckodriver; 在Mozilla GeckoDriver下载geckodriver到任意电脑任意目录,解压后将该路径加入到PC的path(针对windows)即可。
周小董
2019/03/25
1.4K0
python-selenum3 第二天启
在第一天创建的项目上,创建文件夹和python文件 在项目上右键New一个文件夹,在文件夹下new一个python File即可 新建python File的时候需要输入名字 温馨提示:请避免关键字
py3study
2020/01/09
5140
python-selenum3 第二天启
Centos 7.6 安装seleniu
[root@penguin selenium]# firefox -version Mozilla Firefox 66.0.3
py3study
2020/01/16
9150

相似问题

Python和FireFox \ geckodriver

11

Selenium、Firefox和GeckoDriver

17

Firefox 66.0和Geckodriver 0.24.0不兼容?

10

没有Selenium和Geckodriver的Firefox Marionette命令

13

Selenium 3.7和Firefox ESR 52.4.1是否需要geckodriver?

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档