如何使用Python将通过Selenium Webdriver打开的网页转换为英语?

时间:2019-01-04 16:40:19

标签: python selenium google-chrome selenium-webdriver

到目前为止,这是我的代码:

username_input = "username"
password_input = "password"
url='myurl'
browser = webdriver.Chrome(r'chromedriver.exe')
browser.get(url)
browser.maximize_window()
username = browser.find_element_by_id("j_username")
password = browser.find_element_by_id("j_password")
username.send_keys(str(username_input))
password.send_keys(str(password_input))
browser.find_element_by_xpath('//*[@id="inner-box"]/form/label[3]/input').click()
time.sleep(2)

一旦我用法语登录了所有内容,但我需要用英语登录..该怎么办?

我已经尝试了多种方法,例如Chrome选项,但不了解/不起作用。

任何帮助将不胜感激。

4 个答案:

答案 0 :(得分:1)

在下面添加prefs,将法语自动翻译为英语

options = Options()
prefs = {
  "translate_whitelists": {"fr":"en"},
  "translate":{"enabled":"true"}
}
options.add_experimental_option("prefs", prefs)
browser = webdriver.Chrome(chrome_options=options)

如果该位置与脚本位于同一文件夹中,则可以删除r'chromedriver.exe'

答案 1 :(得分:1)

正确的解决方法是:

from selenium import webdriver
chrome_path = "D:\chromedriver_win32\chromedriver"
custom_options = webdriver.ChromeOptions()
prefs = {
  "translate_whitelists": {"ru":"en"},
  "translate":{"enabled":"true"}
}
custom_options.add_experimental_option("prefs", prefs)
driver=webdriver.Chrome(chrome_path, options=custom_options)

答案 2 :(得分:0)

我想您必须设置Chrome选项,例如:

chrome_options = Options()
chrome_options.add_argument("--lang=en")

答案 3 :(得分:0)

网页语言的更改由浏览器设置决定。我几乎尝试了论坛中讨论和提到的几乎所有策略,但没有一个对我有用。我能够按照下面概述的说明成功实现它。

  1. 创建一个新的 Chrome 配置文件(即配置文件 2)。然后将新建的profile目录移动到“Users”的“Documents”目录下

  2. 现在打开谷歌浏览器(从新配置文件),“以管理员身份运行”模式>打开www.google.com>在页面底部,点击“设置”>现在点击“搜索设置” > 选择“区域设置”> 选择“英国”以仅以英文打开网页。

  3. 现在按照以下 java 代码片段进行操作。

    System.setProperty("webdriver.chrome.driver", "C:\\Testing Work Space\\chromedriver.exe");

// Chrome 实际的新配置文件路径是“C:\Users\shah\Documents\Profile 2\”

// 但你必须保持 chromeProfilePath 直到 "\Documents\" 如下

String chromeProfilePath = "C:\\Users\\shah\\Documents\\";
ChromeOptions chroOption = new ChromeOptions();
chroOption.addArguments("user-data-dir=" + chromeProfilePath);

// 在此指定新的 Chrome 配置文件文件夹(配置文件 2)

chroOption.addArguments("profile-directory=Profile 2");
WebDriver driver = new ChromeDriver(chroOption);
driver.get("https://facebook.com");