我在使用Selenium Webdriver和Ruby时,遇到了一个问题,无法在无头Chrome中设置首选语言(接受的语言)。我使用以下WebDriver设置:
驱动程序随后被初始化为:
Selenium::WebDriver::Chrome.driver_path = @config[<path to the Chrome Driver>]
options = Selenium::WebDriver::Chrome::Options.new
options.add_argument('--headless')
options.add_argument('--disable-translate')
options.add_argument("--lang=de")
驱动程序随后被初始化为:
@selenium_driver = Selenium::WebDriver.for :chrome, options: options
一切运作正常,但在某些页面上,Chrome返回英文内容,即使我导航到德语页面URL(例如page.de)。在这些情况下,Chrome驱动程序由于内部转发到page.de/en而返回英文内容。在我的查询URL中,我没有指定en路径。
我尝试使用Webdriver首选项来设置语言:
options.add_preference('accept_languages', 'de')
不是使用add_argument,但它并没有改变任何行为。
有人知道如何强制在Ruby中使用Selenium Webdriver控制无头Chrome请求以指定的语言获取页面内容吗?或者 - 虽然不是最佳解决方案,但可能作为一种变通方法 - 如何停止页面的转发?