【问题标题】:Selenium change firefox browser language python macSelenium 更改 firefox 浏览器语言 python mac
【发布时间】:2012-05-12 08:33:51
【问题描述】:

我已经花了 3 个小时试图找到解决这个问题的方法,但距离我觉得我必须要问的答案还很遥远。 (我发现了类似的帖子 - 下面解释了为什么我在找到这些帖子的情况下仍要问)

我正在编写一个程序,将多个搜索词输入谷歌 - 并检索我的网页排名。我想知道我在几个不同国家的 SERP 中的排名。我已经解决了IP地址的问题。但现在我看到谷歌在给我一个 SERP 时考虑了我浏览器的语言。为了更接近我的页面在一个国家/地区的真实排名(我说更接近,因为我还看到 SERP 取决于搜索历史),我必须使用具有我所在国家/地区本地语言的网络浏览器有兴趣。

在 firefox 中手动更改语言很困难 - 事实上,您必须安装几个不同的语言版本(我还阅读了有关安装语言包的信息 - 但不确定这是否与 firefox 12 相关)。我不知道如何让 selenium 选择正确的 Firefox 版本。

我很难理解需要做什么:我是否必须指定在启动 web driver.firefox(). 时假设使用哪个 firefox 安装/版本 selenium 或者是否可以通过更改 firefox 来确定浏览器语言轮廓。

我花了一些时间查看配置文件部分 - 尽管我在配置文件中找不到任何对语言的引用,但发现了部分 evidence(原始帖子)。

同一post 中的答案似乎已经解决了这个问题——但我不懂语言,而且我无法理解实际在做什么。

我知道 firefox 有一个 add-on 用于在语言版本之间进行更改(您必须首先安装所需的不同语言版本的 firefox) - 鉴于设置选项提到更改“general.useragent.local 首选项”我认为这是一个可以更改的配置文件设置 - 但是当您更改语言时,插件需要重新启动浏览器 - 所以..

我在配置文件设置中找不到任何关于 general.useragent.local 的信息。

任何给我指出正确方向的人都会让我开心!

编辑: 忘了提-我只知道python-所以这就是我在标题中写python的原因

【问题讨论】:

  • 为什么要在 Firefox 中这样做?这听起来像是 curl 或 wget 的东西。

标签: python firefox selenium


【解决方案1】:

好吧,我不得不同意,也许这不是解决这个问题的最佳方法,但会回答你的需要

from selenium import webdriver
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary

binary = FirefoxBinary('path/to/binary')
profile = webdriver.FirefoxProfile()
profile.add_extension('path/to/xpi') #XPI needs to be on disk and not downloaded from AMO
profile.set_preference('general.useragent.local','<enter your value')

driver = webdriver.Firefox(firefox_binary=binary, firefox_profile=profile)
# Carry on with what you want

pydocs 可用here

【讨论】:

  • 非常感谢AutomatedTester的回复!!!你会说什么方法是最好的方法?你和罗伯特有同样的看法吗?
猜你喜欢
  • 2016-01-06
  • 2018-10-30
  • 2018-01-18
  • 1970-01-01
  • 2018-09-24
  • 1970-01-01
  • 2019-02-17
  • 2018-10-30
  • 2017-06-15
相关资源
最近更新 更多