c# - 如何在 RemoteWebdriver 上设置 commandTimeout?
问题描述
如何在 Selenium 中为 RemoteWebdriver 设置 commandTimeout?
如果我在 ChromeDriver 上做同样的事情,我会做类似的事情:
var service = ChromeDriverService.CreateDefaultService(driverPath);
var options = new ChromeOptions();
driver = new ChromeDriver(service, options, TimeSpan.FromSeconds(120));
..但是当我使用 RemoveWebdriver 时,这相当于什么?我的第一个猜测是使用类似的东西:
var capabilities = DesiredCapabilities.Chrome();
capabilities.SetCapability("Capability-name-here", TimeSpan.FromSeconds(120));
driver = new RemoteWebDriver(testserver, capabilities);
但是我找不到任何关于可以设置哪些功能以及我应该将什么字符串/对象传递给 .SetCapability 的文档。
解决方案
for 的构造函数RemoteWebDriver
有一个带超时参数的重载。所以远程等价物是:
var options = new ChromeOptions();
var driver = new RemoteWebDriver(testserver, options.ToCapabilities(), TimeSpan.FromSeconds(120);
请注意,此超时适用于本地 .NET 绑定代码和 Java 远程 Selenium 服务器之间的 HTTP 请求。它可能会也可能不会影响 Selenium 服务器与其本地 chromedriver.exe 实例之间的命令超时。
推荐阅读
- java - 读取 tar.gz 存档中 CSV 文件的内容
- sass - 优化 Sass 变量列表
- python - 如何将数据类型从对象更改为日期格式?
- css - 如何设置 Gravity Forms 字段的样式,启用增强的用户界面?
- c# - 覆盖本地化字符串
- x86-64 - 在 FREEBSD amd64 中不支持 setfib()
- javascript - 两次相同的 uuid + Vuex + uuidv4()
- shell - 是否可以在 shell 变量中将脚本传递给 awk?
- html - 如何在选择/选项下拉列表中删除焦点/悬停的蓝色背景
- node.js - 私有子网中的节点 AWS Lambda 无法返回回调