Python - Вопросы о выпадающем списке селена без флажка и соглашения для сканирования в Интернете - PullRequest
0 голосов
/ 07 сентября 2018

Я пытаюсь сканировать этот сайт . Мне нужно:

  1. Выберите один из вариантов техники
  2. Отметьте «Я прочитал и согласен со следующим отказом от ответственности»
  3. Нажмите на кнопку поиска
  4. Сканирование для извлечения веб-адресов

У меня есть несколько строк кода после нескольких попыток. Для выполнения частей 1 - 3 я делаю:

browser.find_element_by_xpath("//select[@name='Techniques']/option[text()='Diversified Technique']").click()

checkbox = browser.find_element_by_id("dnn_ctr5517_Clients_Custom_ctl00_cbAgree")
if not checkbox.is_selected():
    checkbox.click()

buttons = browser.find_elements_by_xpath("//*[contains(text(), 'Search')]")
if not checkbox.is_selected():
    checkbox.click()

Это не работает. Это не дает мне никакой ошибки, но также не дает результатов.

Примечание : для Методики параметры li вместо параметров, подобных приведенным ниже для "Нейростимуляции микроамперджа":

<li class="rcbItem"><label><input type="checkbox" class="rcbCheckBox">Microamperage Neural Stimulation</label></li>

Как мне установить эти три параметра и получить результаты обратно?

Спасибо.

1 Ответ

0 голосов
/ 07 сентября 2018

Вот что я сделал:

browser.find_element_by_id('dnn_ctr5517_Clients_Custom_ctl00_rcbSkills_Input').click()

browser.find_element_by_xpath('//label[contains(., "Diversified")]/input').click()

checkbox = browser.find_element_by_id('dnn_ctr5517_Clients_Custom_ctl00_cbAgree')
if not checkbox.is_selected():
  checkbox.click()

searchBtn = browser.find_element_by_id('dnn_ctr5517_Clients_Custom_ctl00_btnSearch')
searchBtn.click()

Вы можете повторить вторую строку, если вам нужно выбрать более одной. Возможно, вам придется вставить wait между первыми двумя строками, поскольку возможно, что вы можете получить исключение Element not visible. После этого вы сможете дождаться возвращения результатов.

...