1

当我在 Chrome 或 Firefox 中使用 UserAgent ruby​​ gem (webdriver-user-agent) 将我的驱动程序设置为作为 iPhone 运行时,屏幕不会像我在 Chrome/Firefox 和所有(移动设备)上手动执行此操作时那样显示屏幕上的元素不可见。

此用户代理是否适用于 selenium 或仅适用于 watir?如果是这样,我能做些什么来完成这项工作吗?下面的代码:

when 'iphone'

@driver = Webdriver::UserAgent.driver(:browser => :chrome, :agent => :iphone, :orientation => :portrait)
4

1 回答 1

1

Selenium 应该能够处理它,无需使用第三方 gem。

我之前回答了一个 C# 版本,可以在这里找到。

这是 Ruby 版本:

火狐

profile = Selenium::WebDriver::Firefox::Profile.new
profile['general.useragent.override'] = 'YOUR_UA_STRING'

driver = Selenium::WebDriver.for :firefox, :profile => profile

铬合金

driver = Selenium::WebDriver.for :chrome, :switches => %w[--user-agent=YOUR_UA_STRING]

请记住对字符串数组中的空格进行转义,例如:

driver = Selenium::WebDriver.for :chrome, :switches => %w[--user-agent=Mozilla/5.0\ (iPhone;\ CPU\ iPhone\ OS\ 5_0\ like\ Mac\ OS\ X)\ AppleWebKit/534.46\ (KHTML,\ like\ Gecko)\ Version/5.1\ Mobile/9A334\ Safari/7534.48.3]

幻影JS

capabilities = Selenium::WebDriver::Remote::Capabilities.phantomjs('phantomjs.page.settings.userAgent' => 'YOUR_UA_STRING')
driver = Selenium::WebDriver.for :phantomjs, :desired_capabilities => capabilities

IE

无法从 Selenium 本地获得

于 2013-08-08T23:58:42.697 回答