Поиск неисправностей компонентов с использованием python селена - PullRequest
0 голосов
/ 08 апреля 2020

Я очень новичок в Selenium и пытаюсь собрать данные со следующего веб-сайта ie: https://www.ahla.com/statefacts. На сайте хранятся данные об отелях в США. Конечная цель того, что я пытаюсь сделать, состоит в том, чтобы создать CSV-файл, который будет содержать столбец под названием «Состояния», а другие столбцы будут данными о гостиницах в них (то есть # отелей, # гостиничных номеров, et c.)

Я думал, что получу доступ к раскрывающемуся списку, содержащему все состояния, последовательно щелкну по ним и извлечу данные, но даже не могу найти раскрывающийся список выбора.

Вот код, который я запускаю, который дает мне исключение NoSuchElementException:

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager

driver = webdriver.Chrome(ChromeDriverManager().install())
driver.get("https://www.ahla.com/statefacts")

print(driver.find_element_by_css_selector("#next > div > div > div.col-md-5 > h1 > div > div > select"))

1 Ответ

0 голосов
/ 08 апреля 2020

Iframe присутствует на странице. Вам нужно включить iframe, прежде чем взаимодействовать с выпадающим элементом.

driver.get("https://www.ahla.com/statefacts")


driver.find_element_by_tag_name('body').send_keys("Keys.ESCAPE")
iframe=driver.find_element_by_tag_name("iframe")
driver.switch_to.frame(iframe)
element=wait.until(EC.element_to_be_clickable((By.XPATH, "//select[@class='select-state__select']/option[text()='Alabama']"))).click()

Выход: enter image description here

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