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 本地获得