Я не могу запустить driver.refresh () случайное количество раз? - PullRequest
0 голосов
/ 30 сентября 2019

Как и заголовок, мы хотим обновить случайное число раз.

Разве я не могу запустить driver.refresh () случайное число раз?

  ran_list = [1, 4, 5, 2, 7]

        while True:
            previous_url = driver.current_url
            list_of_links = driver.find_elements_by_xpath("//table//tr//td[@class='subject left txtBreak']/a")

            for linktext in range(len(list_of_links)):
                rand_idx = randint(0, len(ran_list)-1) 
                random_num = ran_list[rand_idx]
                list_of_links = driver.find_elements_by_xpath("//table//tr//td[@class='subject left txtBreak']/a")
                element = list_of_links[linktext]                
                driver.execute_script("arguments[0].click();", element)
                time.sleep(3)
                driver.refresh(str(random_num)) #An error occurs at this point.
                time.sleep(3)
                driver.back()
                time.sleep(3)
                .
                .

Ответы [ 2 ]

1 голос
/ 30 сентября 2019
Команда

Driver.navigate.refresh: это встроенный метод для выполнения операции обновления страницы, предоставляемый веб-драйвером Selenium. Эта команда является наиболее часто используемой в автоматизации тестирования для выполнения операции обновления страницы. Команда обновления может быть использована простым способом, как упомянуто ниже.

driver.get("http://demo.guru99.com/selenium/guru99home/");
driver.navigate().refresh();

Навигация - это интерфейс, который используется для выполнения различных операций браузера, таких как переход на предыдущую страницу, переход на следующую страницу, обновление страницы, браузерблизко. Методы интерфейса навигации доступны с помощью command driver.navigate(). Метод обновления интерфейса навигации не принимает никаких аргументов и не возвращает никаких значений.

Пожалуйста, поймите функцию, прежде чем применять в своем коде Подробнее

1 голос
/ 30 сентября 2019

Вы захотите вызвать refresh в цикле вместо передачи случайного int в качестве параметра.

ran_list = [1, 4, 5, 2, 7]

    while True:
        previous_url = driver.current_url
        list_of_links = driver.find_elements_by_xpath("//table//tr//td[@class='subject left txtBreak']/a")

        for linktext in range(len(list_of_links)):
            rand_idx = randint(0, len(ran_list)-1) 
            random_num = ran_list[rand_idx]
            list_of_links = driver.find_elements_by_xpath("//table//tr//td[@class='subject left txtBreak']/a")
            element = list_of_links[linktext]                
            driver.execute_script("arguments[0].click();", element)
            time.sleep(3)

            # Refresh random number of times
            for i in range(random_num):
                driver.refresh()

            time.sleep(3)
            driver.back()
            time.sleep(3)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...