问题标签 [selenium-remotedriver]

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.

0 投票
1 回答
481 浏览

java - 如何修复 SessionNotCreatedException:尝试运行 Firefox 时无法创建新的远程会话?

我有一个带有 Chrome 和 Firefox 的 Selenium 服务器 4。Chrome 工作正常,但是当我尝试运行 Firefox 时,它会抛出一个错误:

org.openqa.selenium.SessionNotCreatedException:无法创建新的远程会话。所需功能 = Capabilities {acceptInsecureCerts: true, browserName: firefox, marionette: true}

驱动程序的Java代码在这里:

这是 Jenkins 堆栈跟踪:

这是 Selenium 服务器堆栈跟踪:

服务器上的权限似乎有问题。它说:

无法启动文档门户:拨打 unix /run/user/0/bus:连接:权限被拒绝

不知道我还应该设置什么来运行。

0 投票
0 回答
91 浏览

selenium-webdriver - 在发送到客户端浏览器之前修改 XHR 响应

我是 Webproxy 的新手,所以需要专家的一些指导!我正在使用 Selenium 远程 Web 驱动程序在 Saucelabs 中运行我的 UI 自动化测试。当客户端浏览器(在 Saucelabs 中)尝试打开 URL“https://abc.xyz.com/login”时,它会发出 XHR 请求以从服务器获取 JSON 文件内容。然后,它会根据此 JSON 文件中的值显示 UI 元素。JSON文件看起来像这样..

我希望在 XHR 响应被客户端浏览器处理之前修改这些键的值,以便客户端会看到类似这样的内容......

我的代码看起来像这样......

有人对我将如何做这件事有任何建议吗?任何代码示例真的会受到赞赏吗?

0 投票
1 回答
87 浏览

python - 带有 Selenium 远程的 PyAutoGUI?

我在 python 中使用 Selenoid(或只是 selenium 远程)并想使用 pyautogui。

有没有办法做到这一点?

我会感谢任何信息!

0 投票
1 回答
173 浏览

java - Docker & Selenium-Java :- 无法在 docker 容器上运行的 chrome 浏览器中上传图像/文件

我在 docker 容器上使用远程驱动程序运行 selenium 测试用例。

我想将文件上传到在容器上运行的 chrome 浏览器。

我尝试了以下方法:-

  1. 将文件从我的本地系统(MyDocuments 文件夹)复制到 docker 容器。当我单击上传按钮时,我不确定如何浏览文件夹并上传文件。

我试过了,但在“input.sendKeys(imagePath);” 我收到消息“元素不可交互”:- https://stackoverflow.com/a/54810763

  1. 我在容器上运行测试用例,但屏幕截图保存在我的本地机器上。是否有可能我也可以从本地机器而不是容器上传文件
0 投票
0 回答
14 浏览

python - 如何更改 selenium 遥控器中的 window.chrome.webstore 值?

我使用selenium 遥控器并尝试使用将window.chrome.webstore更改为0driver.execute_script('window.chrome.webstore = 0') ,但它没有帮助

0 投票
0 回答
67 浏览

python - 如何将 cookie 列表添加到 selenium 远程驱动程序?

我正在尝试将 cookie 列表添加到远程运行的 selenium chrome 实例中,单个方法 add_cookie 对我的需要来说太慢了,每个请求大约需要 5-10 秒,大约 1000-5000 个 cookie,这将变得难以处理。我曾想过为 ActionsChains 类创建一个自定义 Cookie 输入,如下所示:

应按如下方式使用:

这会引发类似的错误:

InvalidArgumentException:消息:来自无效参数的无效参数:操作类型必须是字符串“keyUp”、“keyDown”或“pause”(会话信息:chrome=91.0.4472.77)

这显然是 chrome 驱动程序本身的错误。有没有比推出自定义 chrome 驱动程序实现更直接的方法来实现这个逻辑?谢谢,最好的问候。

0 投票
1 回答
262 浏览

selenium - Chrome 节点:无法执行请求:java.net.ConnectException:导航到第二个 URL 后连接被拒绝

目前在 Ubuntu EC2 上使用 Firefox 和 Chrome 节点运行 Selenium Grid。使用 TestNG 运行测试,通过 Firefox 节点运行的测试可以完美运行,但是使用 Chrome 节点时,我在导航到第二个 URL 后总是被拒绝连接。我发现令人困惑的是,当通过我的 Mac 在本地运行网格时,一切正常。

以下是 Chrome 测试的方式:

  • 获取登录页面 URL
  • 登录
  • 尝试获取新页面 URL
  • 拒绝连接

这个问题以前见过吗?对于类似的报告问题,我尝试了很多解决方案,但无济于事。我对 Selenium Grid 很陌生,所以我发现很难弄清楚发生了什么。

我的撰写文件:

我的 ChromeDriver 设置:

硒/节点铬日志:

在端口 22087 上启动 ChromeDriver 93.0.4577.15 (660fc11082ba57405eca2e8c49c3e1af756fbfae-refs/branch-heads/4577@{#203}) 允许所有远程连接。请改用许可名单!有关保持 ChromeDriver 安全的建议,请参阅 https://chromedriver.chromium.org/security-considerations。ChromeDriver 已成功启动。16:48:54.257 INFO [ProtocolHandshake.createSession] - 检测到方言:W3C 启动 ChromeDriver 93.0.4577.15 (660fc11082ba57405eca2e8c49c3e1af756fbfae-refs/branch-heads/4577@{#203}) 端口 6601 允许所有远程连接。请改用许可名单!请参阅 https://chromedriver.chromium.org/security-considerations有关保持 ChromeDriver 安全的建议。ChromeDriver 已成功启动。16:49:13.576 INFO [ProtocolHandshake.createSession] - 检测到的方言:W3C 16:49:32.070 WARN [SpanWrappedHttpHandler.execute] - 无法执行请求:java.net.ConnectException:连接被拒绝:localhost/127.0.0.1:6601 java .io.UncheckedIOException: java.net.ConnectException: Connection denied: localhost/127.0.0.1:6601 at org.openqa.selenium.remote.http.netty.NettyHttpHandler.makeCall(NettyHttpHandler.java:80) at org.openqa.selenium .remote.http.AddSeleniumUserAgent.lambda$apply$0(AddSeleniumUserAgent.java:42) at org.openqa.selenium.remote.http.Filter.lambda$andFinally$1(Filter.java:56) at org.openqa.selenium.remote .http.netty.NettyHttpHandler.execute(NettyHttpHandler.java:51) 在 org.openqa.selenium.remote.http.AddSeleniumUserAgent。

0 投票
0 回答
55 浏览

python-3.x - selenium.common.exceptions.JavascriptException:消息:javascript 错误:无法重新定义属性:webdriver

我在 Selenium Remotedriver 中执行以下脚本并收到错误:

代码背后的想法是隐藏webdriver参数

错误如下:

我使用这个问题作为参考:Selenium webdriver: Modifying navigator.webdriver flag to prevent selenium detection

我使用的是 python,而不是 Java,但是这行代码看起来像我在 python 上编写的方式

0 投票
1 回答
435 浏览

asynchronous - 在 Python 中使用 Remote WebDriver 设置 Chrome DevTools (Selenium 4)

我一直在尝试使用 Selenium 4 和 Python 来设置 Chrome DevTools 的使用。我已经能够让它在本地运行(没有任何异步的东西),但是当我尝试使用 webdriver.Remote 实现时,它崩溃了。

这是 Selenium 文档中的一个示例:https ://www.selenium.dev/de/documentation/support_packages/chrome_devtools/

以下是我尝试运行它的方式。

它运行到最后一行async with driver.bidi_connection() as session:(会话已建立,Chrome 浏览器打开)。但是它会因以下跟踪而崩溃。

如您所见,我使用的是 Python 3.10。我还将 Selenium 绑定升级到 4.1.0,并运行 Selenium 4.0.0 Hub/Node 配置来自动化 Chrome 96。

任何想法,这里有什么问题?我是否错误地处理了异步协程?

任何帮助深表感谢!

更新 尝试使用 trio 运行它(如 Henry Ashton-Martyn 的评论中所建议的那样)后,我收到以下错误。

0 投票
0 回答
6 浏览

devtools - 使用带有 selenium4 的远程驱动程序访问 devtool 时执行空指针

我正在尝试使用 selenium4 和远程驱动程序访问 devtool,但我面临空指针异常。我在本地也试过了,效果很好