【发布时间】:2023-03-21 09:17:01
【问题描述】:
环境:Mac OS X 10.8.3、Ruby 2.0.0p0、selenium-webdriver 2.32.1、ChromeDriver 26.0.1383.0。
我想更改默认浏览器语言。我正在测试网站是否正确检测到浏览器语言并以该语言显示页面。
我能够将 Firefox 语言设置为德语:
require "selenium-webdriver"
profile = Selenium::WebDriver::Firefox::Profile.new
profile["intl.accept_languages"] = "de"
caps = Selenium::WebDriver::Remote::Capabilities.firefox(firefox_profile: profile)
caps.platform = "Linux"
caps.version = 20
driver = Selenium::WebDriver.for(
:remote,
url: "http://USERNAME:ACCESS-KEY@ondemand.saucelabs.com:80/wd/hub",
desired_capabilities: caps)
driver.navigate.to "http://sandbox.translatewiki.net/"
我想使用 Chrome(和其他浏览器,如果可能的话)做同样的事情。
我尝试了几件事试图在 Chrome 中以德语打开页面,但每次页面都以英语而不是德语显示。
require "selenium-webdriver"
profile = Selenium::WebDriver::Chrome::Profile.new
profile["intl.accept_languages"] = "de"
caps = Selenium::WebDriver::Remote::Capabilities.chrome(firefox_profile: profile)
caps.platform = "Linux"
caps.version = ""
driver = Selenium::WebDriver.for(
:remote,
url: "http://USERNAME:ACCESS-KEY@ondemand.saucelabs.com:80/wd/hub",
desired_capabilities: caps)
driver.navigate.to "http://sandbox.translatewiki.net/"
如果我将firefox_profile: profile 更改为profile: profile 或chrome_profile: profile,则每次都会以英文(而不是德文)打开页面。
据我在API docs 中看到的,仅支持:firefox_profile。
我可以在 local machine 上做到这一点,但在使用 Sauce Labs 时却不行。
【问题讨论】:
-
那么,如果你将 :firefox_profile 传递给 Chrome 大写,它是否有效?
-
@p0deje:它不起作用。无论我做什么,Chrome 总是以英文而不是德文打开页面。
-
您确定如果您在浏览器中设置了默认语言,您的页面会正确加载吗?
-
扳手 -> 选项 -> 高级 -> 更改字体和语言设置 -> 语言 -> Google Chrome 语言(在下拉菜单中选择您的语言)并接受
-
我明白了,问题是它是否可以在没有 Selenium 的情况下工作。如果您更改 chrome 中的语言并且它仍然无法正常工作,那么您也永远不会使 selenium 工作,因为它基本上就是这样做的。
标签: ruby google-chrome selenium selenium-webdriver selenium-chromedriver