Selenium не может найти поле поиска - PullRequest
0 голосов
/ 05 ноября 2018

Вот сайт - https://www.phptravels.net/m-hotels

Я не могу найти поле, которое называется полем города (см. Прикрепленный скриншот). Даже селен не может записать это поле. Я хочу ввести текст в это поле.

enter image description here

Это то, что я пробовал, но оно не работает:

from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://www.phptravels.net/m-hotels")
a = driver.find_element_by_class_name("select2-choice")
a.click()
city = driver.find_element_by_css_selector(".select2-input.select2-focused")
city.send_keys("Test")

Ответы [ 2 ]

0 голосов
/ 06 ноября 2018

другая альтернатива, использующая xpath

from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://www.phptravels.net/m-hotels")
a = driver.find_element_by_class_name("select2-choice")
a.click()
city = driver.find_elements_by_xpath('(//*[@id="select2-drop"]/div/input)')
city[0].send_keys("Jakarta")
0 голосов
/ 05 ноября 2018

Попробуйте использовать следующий код:

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait as wait
from selenium.webdriver.support import expected_conditions as EC
from selenium import webdriver

driver = webdriver.Chrome()
driver.get("https://www.phptravels.net/m-hotels")

wait(driver, 10).until(EC.element_to_be_clickable((By.LINK_TEXT, "Search by Hotel or City Name"))).click()
wait(driver, 10).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "#select2-drop .select2-input"))).send_keys("Test")
...