Как справиться с интернационализацией с помощью Selenium WebDriver с Python?

Может ли кто-нибудь предложить мне, как справиться с интернационализацией с помощью selenium webdriver и Python на примере.

Нашел эту статью, но это с Java

https://nileshdk.wordpress.com/2013/08/06/internationalization-automating-localized-ui-using-selenium-webdriver/

Поиск подхода с использованием комбинации Web Driver + Python.

1 ответ

  1. Пример интернационализации с кодом ниже:

    Используемый редактор: PyCharm

    Имя Файла: Internationalization.py

    from selenium import webdriver
    from Day_3.csvReader import *
    
    for languages in test_execution():
    
        firefoxprofile = webdriver.FirefoxProfile()
        firefoxprofile.set_preference("intl.accept_languages", languages)
    
        driver = webdriver.Firefox(firefoxprofile)
        driver.maximize_window()
        driver.get("http://www.google.com")
    
        text_leftbottom1 = ".//*[@id='fsl']/a["
        text_leftbottom2 = "]"
    
        for i in range(1, 4):
            for linktext in driver.find_elements_by_xpath(text_leftbottom1 + str(i) + text_leftbottom2):
                print(linktext.text)
    
        text_rightbottom1 = ".//*[@id='fsr']/a["
        text_rightbottom2 = "]"
    
        for i in range(1, 3):
            for linktext in driver.find_elements_by_xpath(text_rightbottom1 + str(i) + text_rightbottom2):
                print(linktext.text)
    

    CSV-файл: testsuite.csv

    Этот файл содержит названия языков, на которых мы хотим открыть сайт.

    Структура файла:

    Language
    pt-BR
    fr
    

    Способ чтения csv-файла:

    импорт csv как csv

    def test_execution():
        with open('E:\Study\HackerRank_30DaysofCode\Day_3\testsuite.csv', 'r+') as file:
            data = csv.DictReader(file)
            result = []
            for row in data:
                result.append((row['Language']))
            return result
    

    Обратная связь приветствуется!