Невозможно найти панель поиска с селеном в python - PullRequest
0 голосов
/ 03 августа 2020

Я пытался найти боковую панель на этом веб-сайте. https://covid19.who.int/?gclid=EAIaIQobChMIkoua643_6gIVDNd3Ch3qgApPEAAYASAAEgIfIvD_BwE

Панель поиска, которую я пытаюсь найти, находится сверху, на ней написано «Поиск по стране» , Territory или Area "Я пробовал использовать XPATH, но всегда получаю ошибку при нахождении элемента, или иногда он говорит, что мой элемент не взаимодействует (я предполагаю, что это означает, что я обнаруживаю другой элемент). Пожалуйста, покажите способ найти этот элемент?

вот что я увидел, когда проверил

1 Ответ

1 голос
/ 03 августа 2020

Предполагая, что вы хотите выполнить поиск по стране и просмотреть данные, для этого вам нужно найти id окна поиска (т.е. react-select-2-input), ввести название страны, используя send_keys, и нажать Enter.

from selenium import webdriver
from selenium.webdriver.common.keys import Keys


site = 'https://covid19.who.int/?gclid=EAIaIQobChMIkoua643_6gIVDNd3Ch3qgApPEAAYASAAEgIfIvD_BwE'

driver = webdriver.Chrome(executable_path = 'chromedriver.exe') # Here I am using Chrome's web driver
#For Firefox Web driver
#driver = webdriver.Firefox(executable_path = 'geckodriver.exe') 
driver.get(site)
time.sleep(3)
elem = driver.find_element_by_id("react-select-2-input")
elem.send_keys("Brazil")
elem.send_keys(Keys.ENTER)

Если вас интересует только поисковая строка, вы можете найти ее по идентификатору (driver.find_element_by_id("react-select-2-input"))

enter image description here

How did I find search-bar id?

Basically search-bar is nothing but a text-box and in HTML text-box code starts with , поэтому мне пришлось просто найдите код HTML текстового поля в элементе проверки браузера.

Увидев ваш снимок экрана, я могу сказать, что вы двигались в правильном направлении, просто вам нужно было расширить тег div, пока не найти код текстового поля.

введите описание изображения здесь

...