selenium - 使用 RSpec、Capybara 和 Selenium 完全忽略 goog:chromeOptions
问题描述
还有其他人有这个问题吗?似乎某个地方goog:chromeOptions
没有正确传递chromedriver
- 这导致 Chrome 只使用默认选项打开。
我正在使用以下 Capybara/Selenium 配置:
Capybara.register_driver :chrome do |app|
capabilities = Selenium::WebDriver::Remote::Capabilities.chrome(
'goog:chromeOptions': {
args: %w[ start-maximized ]
}
)
Capybara::Selenium::Driver.new(
app,
browser: :chrome,
desired_capabilities: capabilities,
driver_opts: {
log_path: "./tmp/chrome#{Time.now.to_i}.log",
verbose: true
}
)
end
Capybara.javascript_driver = :chrome
但是,当我打开 Capybara 会话日志时,goog:chromeOptions
根本没有设置。这就是我的 Chrome 窗口没有最大化的原因吗?
会话日志:
[1550680994.143][INFO]: COMMAND InitSession {
"capabilities": {
"firstMatch": [ {
"browserName": "chrome",
"goog:chromeOptions": {
//nothing is here??? should have args!
}
} ]
},
"desiredCapabilities": {
"browserName": "chrome",
"cssSelectorsEnabled": true,
"goog:chromeOptions": {
//nothing is here??? should have args!
},
"javascriptEnabled": true,
"nativeEvents": false,
"platform": "ANY",
"rotatable": false,
"takesScreenshot": false,
"version": ""
}
}
操作系统:
Ubuntu 18.04
我的环境:
ruby 2.6.1
capybara (2.18.0)
selenium-webdriver (3.13.0)
ChromeDriver 2.37.544315
每次我运行 Selenium 测试时,窗口都不会最大化。但这不是另一个“屏幕未最大化”的帖子(已经有很多帖子了)。这似乎是我的选项没有被正确解析的问题?我不明白有什么问题。我正在尽我所能遵循所有自述文件和指南。它只是不工作:(
解决方案
通过升级 Capybara 和 Selenium Webdriver 来修复它!
capybara (3.13.2)
selenium-webdriver (3.141.0)
现在调试日志有我期望看到的:
[1550686685.534][INFO]: COMMAND InitSession {
"capabilities": {
"firstMatch": [ {
"browserName": "chrome",
"goog:chromeOptions": {
"args": [ "start-maximized" ]
}
} ]
},
"desiredCapabilities": {
"browserName": "chrome",
"cssSelectorsEnabled": true,
"goog:chromeOptions": {
"args": [ "start-maximized" ]
},
"javascriptEnabled": true,
"nativeEvents": false,
"platform": "ANY",
"rotatable": false,
"takesScreenshot": false,
"version": ""
}
}
推荐阅读
- ruby-on-rails - Rails 模型中的关联
- java - 在活动 android 中访问 SQLite 数据库值
- javascript - 如何在 Gatsby 中使用带有富文本的内嵌图像?
- python - 如何通过 Selenium 读取按钮内的值?
- javascript - 如何在客户端的 javascript / 中访问 Django 返回的 json 对象?
- python-3.x - 将现有的 matplotlib 图形放入子图中
- json - 解析复杂的 JSON,其中数据和“列标题”位于单独的数组中
- linux - 无法在 Kafka 开发盒上启动多个 Zookeeper 服务
- c# - 如何将 PHP pack('H40',$string); 转换为 C#?
- python - 椭圆曲线上的标量乘法