问题标签 [firefox-marionette]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
selenium-webdriver - 如何设置木偶驱动程序的详细程度?
无法管理木偶司机的冗长!
环境:
试过:
日志信息:
selenium - Selenium - FireFox/Marionette 驱动程序太快而无法控制
将 Firefox 更新到 52 版后,我不得不将 gecko 驱动程序更新到 v17。但是我之前的所有脚本在 Firefox 中都失败了,因为它太快了,并且不想加载页面上的元素。
我现在被迫添加 Thread.sleep 等待每次点击。你们有什么解决方案可以帮助我吗?
在 Chrome 中工作得更好,但需要两者工作相同。
我运行 testNg,我得到的异常是:构建信息:版本:'3.4.0',修订:'未知',时间:'未知'
我通过插入不推荐的 Thread.sleep 来修复它,但这是唯一有效的方法。流利的等待不起作用或我
1505314327534 geckodriver INFO 监听 127.0.0.1:42753 1505314328131 mozprofile::profile INFO 使用配置文件路径 C:\User\AppData\Local\Temp\rust_mozprofile.NX5A3KOOQr 1505314328136 geckodriver::marionette INFO 启动浏览器 C:/Program Files/Mozilla Firefox firefox.exe with args [] 1505314328150 geckodriver::marionette INFO Connecting to Marionette on localhost:65331 1505314331570 Marionette INFO 监听端口 65331
python - 硒 get_attribute("id")
我正在使用 Selenium 和 Firefox 在 python 中抓取。
我可以使用以下方法将我的 href 放入对象中:
它返回一堆<a>
看起来像这样的标签:
返回了多个链接,但如果我只关注第一个链接:
输出这个:
请注意,最后一个属性 print 是空白的,什么时候应该返回ips_uid_1234_9
。其他所有属性都返回正常,所以我不确定为什么“id”不能正确返回。
python-2.7 - Selenium + Geckodriver 故障排除
我在 Python 中使用带有 selenium 的 Firefox gecko 驱动程序来抓取论坛帖子标题,并且遇到了一个我似乎无法弄清楚的问题。
我正试图从论坛上刮掉几年前的帖子标题,我的代码可以正常工作一段时间。我坐下来看着它运行了大约 20-30 分钟,它完全按照它应该做的事情做。然而,随后我启动脚本,然后上床睡觉,当我第二天早上醒来时,我发现它已经处理了大约 22,000 个帖子。我目前正在抓取的网站每页有 25 个帖子,因此它在崩溃之前通过了大约 880 个单独的 URL。
当它崩溃时,它会引发以下错误:
最初我的代码如下所示:
我也试过:
和
我在所有 3 个场景中都遇到了相同的错误,但只有在它成功运行了一段时间之后,我不知道如何确定它失败的原因。
在成功处理数百个 url 后,如何确定为什么会出现此错误?还是有一些我没有遵循 Selenium/Firefox 来处理这么多页面的最佳实践?
javascript - 网站可以检测到 Firefox 在 Marionette 上运行吗?
在 Selenium 上运行 Firefox 需要 Geckodriver,因为 Gecko 引擎与 JSON Wire 协议并不真正兼容。因此,Geckodriver 通过使用 Marionette 进行翻译,为 Selenium 和浏览器之间的所有命令提供服务,从而运行 HTTP 服务器。网站真的可以说当前的浏览器是由 Marionette 控制的吗?我已经看到,当 Firefox 自动运行时,您可以使用 localhost 和配置中的 Marionette Port 访问“Marionette Page”。Firefox 还显示机器人,它告诉用户当前浏览器是自动化的。所以内置了某种自动化检测,但是可以访问吗?
编辑:是的,确实,不同的浏览器暴露了不同的东西,但是 javascript 检测不再起作用。它能够检测到 Selenium RC,因为它必须在浏览器中注入一些 Javascript 代码才能工作。从 Selenium 2.0 开始,Webdriver 直接与浏览器通信,所以简单的 Javascript-Variable-Detection 将不起作用。我还发现并解释了其中一些暴露,但网站真的可以以某种方式访问它们吗?作为暴露的另一个区别:Chrome 将 navigator.webdriver 属性设置为 true,但 firefox 没有。
python - Python firefox木偶超时
我运行了以下内容:
Firefox 启动,命令行再次可供我使用。没有回应:
… 1491228343089 Marionette INFO 监听端口 2828
如此处所述。
当我使用 python 运行木偶时,我执行以下命令:
回来:
有没有其他人经历过这个?我究竟做错了什么?
python - 如何解决“ImportError:没有名为 marionette_test 的模块”
在我的 Python 脚本中,我试图通过 Marionette 驱动程序设置一些电话设置。我正在导入以下内容:
然后我试图打开与设备的客户端会话:
但是,我收到 UnknownCommandException:
仅供参考,我正在使用 marionette-driver 1.1.1
任何有关解决此问题的建议将不胜感激。
2018 年 10 月 26 日编辑
它现在返回一条不同的错误消息:
selenium - Firefox 没有从 selenium 网格节点配置中获取配置文件
我在我的 nodeconfig.json 中指定了 firefox 使用默认配置文件,而不是每次都创建一个新配置文件。
但是,它仍然每次都会创建一个新的配置文件,如第 3 行所示
下面是我的 nodeConfig.JSON
我在浏览器详细信息之后的第二行中放置了“webdriver.firefox.profile”:“default”。
这就是我创建驱动程序对象的方式,DriverConfig 是我创建的一个类,用于从应用程序设置中提取信息。
更新:
我也尝试按照功能示例https://github.com/mozilla/geckodriver#capabilities-example没有成功
更新了 nodeConfig.json
我尝试了以下使用配置设置网格的方法
所有连接和调用浏览器,但仍然在 temp 中创建配置文件
selenium - Firefox 52.9.0esr (Tor Browser 7.5.6) 哪个版本的 marionette_driver
Tor 浏览器更新到 7.5.6。以前的工作代码失败了
无效会话 ID 异常:
更新到 后marionette_driver 2.7
,调用client.start_session()
失败
marionette_driver.errors.UnknownCommandException: WebDriver:NewSession
marionette_driver
这个 Firefox 版本应该使用哪个版本?(或者可能是像 Selenium 这样的另一个框架?)
selenium-webdriver - 如何更改临时文件系统路径 selenium 3
我正在尝试更改 Selenium 3.x 的临时文件系统路径。因为我想将临时 firefox 配置文件(moz_profile)放在 ram 磁盘上
在 Selenium 2.52 中,我可以使用以下代码更改目录:
之后,Selenium 为每个浏览器会话创建“匿名”目录。
Selenium 3.x 忽略配置的临时目录。
这也不起作用:
这里出了什么问题?谢谢你的帮助!