2013-09-05 36 views
6

Tôi tải xuống ChromeDriver và theo mặc định ngôn ngữ trình duyệt bằng tiếng Anh, tôi cần thay đổi ngôn ngữ đó sang tiếng Tây Ban Nha và tôi không thể.Đặt ngôn ngữ của Chrome bằng Selenium ChromeDriver

public WebDriver getDriver(String locale){ 
    System.setProperty("webdriver.chrome.driver", "driver/chromedriver.exe"); 
    return new ChromeDriver(); 
} 

public void initializeSelenium() throws Exception{ 
    driver = getDriver("en-us") 
} 

Trả lời

11

Bạn có thể thực hiện việc này bằng cách thêm command line switches "--lang" của Chrome.

Về cơ bản, tất cả những gì bạn cần là bắt đầu ChromeDriver với đối số ChromeOption--lang=es, xem API để biết chi tiết.

Sau đây là ví dụ làm việc về mã C# để biết cách khởi động Chrome bằng tiếng Tây Ban Nha bằng Selenium.

ChromeOptions options = new ChromeOptions(); 
options.AddArguments("--lang=es"); 
ChromeDriver driver = new ChromeDriver(options); 

Mã Java phải khá giống nhau (chưa kiểm tra). Hãy nhớ rằng, ngôn ngữ ở đây bằng ngôn ngữ biểu mẫu [-country] trong đó ngôn ngữ là mã gồm 2 chữ cái từ ISO-639.

public WebDriver getDriver(String locale){ 
    System.setProperty("webdriver.chrome.driver", "driver/chromedriver.exe"); 
    ChromeOptions options = new ChromeOptions(); 
    options.addArguments("--lang=" + locale); 
    return new ChromeDriver(options); 
} 

public void initializeSelenium() throws Exception{ 
    driver = getDriver("es"); // two letters to represent the locale, or two letters + country 
} 
+0

Cảm ơn họ đã trả lời, nó hoạt động rất tốt! – elcharrua

+0

Xin lỗi đó là điều xấu của tôi. Tôi xin lỗi. – elcharrua

2

Tôi gặp sự cố với Chrome sử dụng định dạng ngày tháng (mm/dd/yyyy) thay vì định dạng GB dd/mm/yyyy (mặc dù tôi đã đặt định dạng này trong Chrome). Sử dụng:

options.addArguments("--lang=en-GB"); 

giải quyết vấn đề này.

5

Đối với tôi, --lang không hoạt động. Có vẻ như để đặt ngôn ngữ của tab được mở đầu tiên, tất cả các quy trình chrome khác được bắt đầu bằng --lang = en-US.

gì đã làm công việc như sau:

DesiredCapabilities jsCapabilities = DesiredCapabilities.chrome(); 
ChromeOptions options = new ChromeOptions(); 
Map<String, Object> prefs = new HashMap<>(); 
prefs.put("intl.accept_languages", language); 
options.setExperimentalOption("prefs", prefs); 
jsCapabilities.setCapability(ChromeOptions.CAPABILITY, options); 
+1

điều này đã giúp tôi sử dụng http://www.reliply.org/tools/requestheaders.php để xác minh. –

0

Đối với tôi --lang cũng đã không làm việc. Tôi muốn thực hiện các bài kiểm tra Đăng nhập Facebook với ngôn ngữ cụ thể (en-US thay vì en-GB) và những gì tôi thấy là một số trang (như Facebook) đặt giao diện theo biến môi trường hệ thống LANG ... Vì vậy, nếu câu trả lời ở trên không làm việc, hãy thử thay đổi biến môi trường LANG. Thử nghiệm trên Linux.

Các vấn đề liên quan