2012-05-12 2 views
0

Я потратил 3 часа, пытаясь найти решение этой проблемы, и я так далеко от ответа, я чувствую, что должен спросить. (Я нашел похожие сообщения - ниже объясняется, почему я спрашиваю, несмотря на поиск этих сообщений)Selenium change firefox browser language python mac

Я пишу программу, которая вводит несколько поисковых терминов в Google - и получает ранжирование моей страницы. Я хочу знать свой рейтинг для нескольких разных SERP. Я решил проблему с разрешением ip-адреса. Но теперь я вижу, что Google использует факторинг на языке моего браузера, предоставляя мне SERP. Чтобы приблизиться к истинному рангу моей страницы в стране (я говорю ближе, потому что я также видел, что SERP зависит от истории поиска), я должен использовать веб-браузер с родным языком в стране, где я Интересно, что

Изменение языка в firefox вручную затруднено - на самом деле вам нужно установить несколько версий языка (я также читал об установке языковых пакетов, но не уверен, что это относится к firefox 12) , Я не знаю, как получить селен, чтобы выбрать правильную версию firefox.

Я с трудом понимаю, что нужно сделать: Должен ли я указывать, какой инсталлятор/версия для установки firefox предполагается использовать при запуске web driver.firefox(). Или можно определить язык браузера, изменив профиль firefox ,

Я потратил некоторое время на просмотр части профиля - и нашел частичное evidence (оригинальное сообщение), хотя я не могу найти ссылку на язык в файлах профилей.

Ответ в том же post, похоже, решил проблему, но я не знаю этого языка, и мне трудно понять, что на самом деле делается.

Я знаю, что есть add-on для firefox для изменения между языковыми версиями (вы должны сначала установить различные языковые версии firefox, которые вы хотите) - Учитывая, что параметр настроек упоминает об изменении «general.useragent.local preference» I Я думаю, что это настройка профиля, которую можно изменить, но для добавления требуется перезапуск браузера при изменении языка - так.

ничего не могу найти о general.useragent.local в настройках профиля.

Любой, кто дает мне точку в правильном направлении, сделает мой день!

EDIT: забыл упомянуть - я знаю только питон - так вот почему я написал питон в названии

+0

Почему это с Firefox? Это похоже на что-то для завитки или wget. – robert

ответ

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 доступны here

+0

Большое вам спасибо за ваш ответ AutomatedTester !!! Как вы можете сказать, как лучше всего подойти? вы придерживаетесь того же мнения, что и роберт? – Rookie