В настоящее время я учусь автоматизировать веб-приложение, содержащее раскрывающийся список. Я могу выбрать значение из раскрывающегося списка, передав его непосредственно в xpath. Теперь я пытаюсь выбрать значение из раскрывающегося списка.на значение, указанное в листе Excel, а не давать его напрямую. Я не знаю, как это сделать.
Пожалуйста, найдите образец HTML
<select class="parent" id="parent_name" name="parentId">
<option value="1">A</option>
<option value="2">B</option>
<option value="3">C</option>
</select>
Пожалуйста, найдите код, который я пробовалраскрывающийся список
dropdown=driver.find_element_by_xpath('//select[@class="parent"]//option[2]');
dropdown.click();
Для выбора значения из Excel для других вещей, таких как текстовое поле, я использую следующий код
driver = webdriver.Chrome
driver.fullscreen_window();
driver.get('url');
time.sleep(5)
Workbook=xlrd.open_workbook("excel path")
Details = Workbook.sheet_by_index(0);
city=Details .cell(1,0)
Citytextbox=driver.find_element_by_xpath('//input[@id="city"]');
Citytextbox.send_keys(city.value);
То, что я ожидаю, это если я даю значение как "A"в Excel, он должен быть в состоянии выбрать его из выпадающего списка, а не жестко кодировать его, используя spyder-python 3.7.
Обновление : пробовал следующие два метода, я столкнулся с проблемой ниже.можете ли вы указать мне, в чем может быть проблема?Первый метод, кажется, замечает, что происходит, код выполняется даже при выборе раскрывающегося списка, и никакой ошибки не отображается. Кажется, он не вошел в код
class test:
def test(self):
type=details.cell(1,13);
dropdown=selected(self.driver.find_element_by_xpath('//select[@class="parent"]'));
dropdown.select_by_value(str(type));
time.sleep(5);
Второй метод : Он показывает, что -module объект не является вызываемым. Добавленный импорт выбирается как выбранный
type=details.cell(1,13);
dropdown=selected(driver.find_element_by_xpath('//select[@class="parent"]'));
dropdown.select_by_value(str(type));
Когда я пытаюсь выполнить описанный выше метод, я получаю эту ошибку TypeError: объект 'module' не вызывается