问题标签 [webdriver-w3c-spec]

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 投票
8 回答
29167 浏览

ruby - 在 W3C 模式下(Selenium::WebDriver::Error::UnknownCommandError)无法在 Cucumber Ruby 中使用 Selenium ChromeDriver 调用非 W3C 标准命令

我们有 Cucumber Ruby 自动化框架,在 Jenkins 上的 Docker 中,我们在 Chrome 无头浏览器上运行了一些测试。几天前,我们开始收到错误消息“此版本的 ChromeDriver 仅支持 Chrome 版本 75”,这次我们使用的是 ChromeDriver 2.46 和 google-chrome-unstable 浏览器,使用以下命令:

我现在已经更新了 chromedriver 版本75.0.3770.8和浏览器google-chrome-beta=75.0.3770.27-1

现在我可以看到错误:

unknown command: Cannot call non W3C standard command while in W3C mode (Selenium::WebDriver::Error::UnknownCommandError)

是否可以禁用 W3C 模式或下载旧版本的 Chrome 浏览器和不使用它的驱动程序?我认为禁用 W3C 检查的可能性很大。

0 投票
2 回答
6295 浏览

selenium - Selenium 和非无头浏览器不断要求验证码

我遇到了一个问题,我们的一个网站一直在云中的浏览器中以无头模式要求验证码,所以我将其切换为非无头模式,这样我就可以自己输入验证码,我想下次它会工作,也许是因为已经存储了一些cookie,但即使我输入了几次验证码,它也没有。

另外值得一提的是,它在任何模式下都可以在本地运行,并且在非自动化版本的云中也可以很好地运行,但是只要我在 Selenium 那里以任何模式运行它,它就会一直要求验证码。非常感谢任何可能发生的想法和解决方案的想法

0 投票
8 回答
26994 浏览

selenium - 如何在 chromedriver 中关闭 w3c 以解决错误未知命令:Cannot call non W3C standard command while in W3C

随着 Chrome 的 75 版刚刚发布,我们的测试不再正常运行。他们给出了粘贴在下面的堆栈跟踪。我们正在使用带有 rspec、selenium-webdriver 3.8.0 的 ruby​​ on rails v. 5.1.6.2。

堆栈跟踪:

我们的驱动配置:

更新:

我能够让我们的测试暂时使用capabilities = { "chromeOptions" => {'w3c' => false} }.

更新 chromedriver 后,我们开始收到错误“未知错误:DevToolsActivePort 文件不存在”。为了解决这个问题,我们将 selenium-webdriver gem 升级到 3.142.3 并解决了这个问题,允许我们在没有任何额外参数的情况下使用 w3c。

0 投票
2 回答
395 浏览

selenium - 错误:UnsupportedOperationError:在桥接模式下不支持相对于视口的指针移动

我将 selenium Hub 作为集群 Kubernetes 上的一项服务,我开始使用 selenium side runner 进行远程测试。不幸的是,当我尝试使用终端(使用 Ubuntu)运行测试时,出现以下错误:

在此处输入图像描述

UnsupportedOperationError:在桥接模式下不支持相对于视口的指针移动

在 Actions.perform 的 executeLegacy (../../../../../usr/lib/node_modules/selenium-side-runner/node_modules/selenium-webdriver/lib/input.js:1129:17) (../../../../../usr/lib/node_modules/selenium-side-runner/node_modules/selenium-webdriver/lib/input.js:971:16

如果我尝试从 selenium ide 开始测试,一切正常。错误取决于什么?

你能帮助我吗?先感谢您。

此致

0 投票
2 回答
889 浏览

selenium - 当服务器使用 w3c 时,在 Edge 中获取错误消息“不允许使用 JSON 有线协议命令端点”

当我们使用 Microsoft Edge 运行脚本时,出现以下错误:

当服务器以 W3C 模式运行时,不允许使用以下 JSON 有线协议命令端点。获取/关机

我的理解是Edge现在默认支持W3C模式。我们的 Java 绑定以 Json 有线协议模式(JWP)发送。我们如何指导 Microsoft WebDriver 使用 JWP 模式而不是 W3c 模式

微软文档中提到过:

w3c 使用 W3C WebDriver 协议(默认选项) 17763
jwp 使用 JSON Wire 协议

https://docs.microsoft.com/en-us/microsoft-edge/webdriver

您能否告诉我如何从 W3C 模式更改为 jwp 模式?

0 投票
3 回答
96 浏览

python - 如何理解 Selenium 中的 webdriver 和 get()?

如何使用 Selenium 打印网页的所有 html/css 标签:

当我做:

它打印这个:

这是一个对象或变量还是一个列表/集合/元组/字典或它是什么?有人可以解释一下吗?

0 投票
1 回答
2017 浏览

c# - 如何通过 Selenium 在 Chrome 上获取当前活动的标签索引?

我正在创建半自动化的应用程序(用户正在打开标签(注意),如果他想转储其中一个,他只需点击热键)。

但是当用户打开很多标签时,我需要知道我应该切换到哪一个。我如何获得 currenttab 索引。或者切换到 Selenium C# 上的当前选项卡?

...不适合我。

0 投票
1 回答
635 浏览

protractor - 量角器 W3C 能力

我正在Protractor使用Selenoid. 我需要使用 dockerized Windows 映像,以便我可以从 Linux 机器测试 Internet Explorer 和 Edge。

我能够通过运行使其从 curl 工作:

我的量角器配置如下所示:

但是像这样通过服务器protractor发送它:selenoid

问题是这desiredCapabilities应该只是“能力”。我一直在四处寻找,试图找出创建的位置,以便我可以创建某种标志来切换它。

有任何想法吗?

0 投票
2 回答
841 浏览

html - Selenium 如何点击 50% 在屏幕上和 50% 不在屏幕上的元素?

有一个 div 元素。其大小的 50% 在屏幕上。其他 50% 超出屏幕高度并且不可见。无法滚动。

我尝试使用 Selenium 自动化测试并单击该 div 元素,但有时它可以工作,有时它不能。

为什么 Selenium 不只是单击该 div 的“屏幕区域”?

这个功能是如何实现的?当我告诉 Selenium 单击一个巨大的 div 元素时,它会单击该 div 上的随机位置吗?

0 投票
1 回答
1001 浏览

selenium - 使用 Selenium 时 JsonWireProtocol 机制与 W3C Living Document 新标准的区别

我想知道使用 Selenium 进行 UI 测试时,JsonWireProtocol(状态:OBSOLETE)和 2019 年 12 月 31 日起的 W3C Living Document(新标准)中的机制有什么区别。我知道 Selenium 使用了以下内容:当我们创建一个新的驱动程序实例(C#)时:

我们实际上向 selenium 服务器发出POST /session请求。之后通过 JsonWireProtocol ,例如:

POST /session/:sessionId/element/:id/click,我们可以找到并点击特定元素,或者对其他请求进行一些其他操作...

那么现在有哪些新事物呢?谁能解释一下新标准?!如果有人深入这样做,我会很高兴!

WebDriver W3C 动态文档 2019 年 12 月 31 日

JsonWire协议