我正在尝试通过请求来自Google的"define"+word
查询来收集语音拼写。您可能知道,在" define"之后,您将获得该词的字典定义。然后
但是,当我从Selenium启动Firefox时,它会以谷歌设置为德语的方式启动,这不是我想要的。当我手动启动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,就像手动启动一样?
答案 0 :(得分:2)
您只能通过设置en-US
偏好设置强制Firefox接受intl.accept_languages
,您也可以更改国家/地区代码:
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
,然后在德语中查看Google搜索页面。
或者,您可以导航到http://www.google.com/ncr
(“ncr”代表“无国家/地区重定向”),而不是https://google.com
。