Как ждать второй выпадающий список для загрузки на основе первого использования Selenium в Python - PullRequest
1 голос
/ 25 марта 2020

Используя селен, я пытаюсь проверить формы на этой странице . С помощью кода, приведенного ниже, я могу выбрать элемент из первого раскрывающегося меню, но он падает перед тем, как выбрать из второго раскрывающегося списка.

def test_apply_forms(self):
        FILE_PATH = "tests/forms/apply.csv"
        with open(FILE_PATH) as csv_file:
            csv_reader = csv.reader(csv_file, delimiter=",")
            headers = next(csv_reader)
            for row in csv_reader:
                form = dict(zip(headers, row))

                # Your Internship
                dropdown_xpath = "//span[@id='select2-chosen-2']"
                self.driver.find_element_by_xpath(dropdown_xpath).click()
                choice_xpath = f"//div[contains(text(),'{form[headers[0]]}')]"
                self.driver.find_element_by_xpath(choice_xpath).click()

                # Your Session
                dropdown_xpath = "//span[contains(text(),'Choose a session')]"
                self.driver.find_element_by_xpath(dropdown_xpath).click()
                choice_xpath = f"//div[contains(text(),'{form[headers[1]]}')]"
self.driver.find_element_by_xpath(choice_xpath).click()

Не удается найти раскрывающиеся элементы для второй выпадающий Кто-нибудь может помочь устранить неполадки? (последняя строка в коде правильно написана с отступом в моем коде)

1 Ответ

0 голосов
/ 25 марта 2020

Вы можете попытаться добавить ожидание (желательно свободно) между двумя раскрывающимися списками.

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