0

我花了 3 个小时试图找到解决这个问题的方法,但我离答案还很远,我觉得我必须要问。(我发现了类似的帖子——下面解释了为什么尽管找到了这些帖子我还是要问)

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

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

我很难理解需要做什么:我是否必须指定启动时假设使用的 firefox 安装/版本 seleniumweb driver.firefox().或者是否可以通过更改 firefox 配置文件来确定浏览器语言。

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

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

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

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

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

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

4

1 回答 1

3

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

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 可在此处获得

于 2012-05-12T19:12:04.407 回答