我正在尝试通过向 google 请求 "define"+word
查询来收集语音拼写。正如您可能知道的那样,您将获得“定义”之后的单词的字典定义。
但是,当我从 Selenium 启动 Firefox 时,它以一种将 google 设置为德语的方式启动,这不是我想要的。当我手动启动 Firefox 时,它被设置为英语,这是我想要的:
现在的问题是我会得到相同关键词的错误结果:
目前我使用的脚本如下所示:
import time
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.keys import Keys
capabilities = DesiredCapabilities.FIREFOX
capabilities["marionette"] = True
browser = webdriver.Firefox(capabilities=capabilities)
try:
browser.get('https://google.com')
search = browser.find_element_by_name('q')
search.send_keys("define car")
search.send_keys(Keys.RETURN)
time.sleep(5)
except Exception as e:
print (format(e))
如何使从脚本启动的 Firefox 表现得像手动启动一样?
最佳答案
您可以强制 Firefox 仅通过设置 intl.accept_languages
首选项来接受 en-US
,您也可以更改国家/地区代码:
profile = webdriver.FirefoxProfile()
profile.set_preference('intl.accept_languages', 'en-US, en')
profile.set_preference('browser.search.countryCode', 'US')
capabilities = DesiredCapabilities.FIREFOX
capabilities["marionette"] = True
browser = webdriver.Firefox(firefox_profile=profile, capabilities=capabilities)
为我工作。我还尝试将 intl.accept_languages
设置为 de-DE, de
并看到德语的谷歌搜索页面。
或者,您可以导航到 http://www.google.com/ncr
(“ncr”代表“无国家/地区重定向”)而不是 https://google。 com
.
关于python - 使用 Selenium 启动的 Firefox 与系统默认的 Firefox 设置不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41911069/