问题标签 [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.
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:连接:权限被拒绝
不知道我还应该设置什么来运行。
selenium-webdriver - 在发送到客户端浏览器之前修改 XHR 响应
我是 Webproxy 的新手,所以需要专家的一些指导!我正在使用 Selenium 远程 Web 驱动程序在 Saucelabs 中运行我的 UI 自动化测试。当客户端浏览器(在 Saucelabs 中)尝试打开 URL“https://abc.xyz.com/login”时,它会发出 XHR 请求以从服务器获取 JSON 文件内容。然后,它会根据此 JSON 文件中的值显示 UI 元素。JSON文件看起来像这样..
我希望在 XHR 响应被客户端浏览器处理之前修改这些键的值,以便客户端会看到类似这样的内容......
我的代码看起来像这样......
有人对我将如何做这件事有任何建议吗?任何代码示例真的会受到赞赏吗?
python - 带有 Selenium 远程的 PyAutoGUI?
我在 python 中使用 Selenoid(或只是 selenium 远程)并想使用 pyautogui。
有没有办法做到这一点?
我会感谢任何信息!
java - Docker & Selenium-Java :- 无法在 docker 容器上运行的 chrome 浏览器中上传图像/文件
我在 docker 容器上使用远程驱动程序运行 selenium 测试用例。
我想将文件上传到在容器上运行的 chrome 浏览器。
我尝试了以下方法:-
- 将文件从我的本地系统(MyDocuments 文件夹)复制到 docker 容器。当我单击上传按钮时,我不确定如何浏览文件夹并上传文件。
我试过了,但在“input.sendKeys(imagePath);” 我收到消息“元素不可交互”:- https://stackoverflow.com/a/54810763
- 我在容器上运行测试用例,但屏幕截图保存在我的本地机器上。是否有可能我也可以从本地机器而不是容器上传文件
python - 如何更改 selenium 遥控器中的 window.chrome.webstore 值?
我使用selenium 遥控器并尝试使用将window.chrome.webstore值更改为0driver.execute_script('window.chrome.webstore = 0')
,但它没有帮助
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 驱动程序实现更直接的方法来实现这个逻辑?谢谢,最好的问候。
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。
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 上编写的方式
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 的评论中所建议的那样)后,我收到以下错误。
devtools - 使用带有 selenium4 的远程驱动程序访问 devtool 时执行空指针
我正在尝试使用 selenium4 和远程驱动程序访问 devtool,但我面临空指针异常。我在本地也试过了,效果很好