Невозможно нажать на элемент через Selenium Python - PullRequest
0 голосов
/ 09 ноября 2018

На странице рейсов Google я хочу нажать на стрелку вправо (увеличить количество дней) в нижней части диалогового окна (прикрепленное изображение). Второй щелчок дает мне selenium.common.exceptions.TimeoutException ошибку.

Вот мой код:

url = 'https://www.google.fr/flights'
driver.get(url)
elem1 = driver.find_elements_by_xpath("//span[@class='gws-flights-form__date-content']")[0]
elem1.click()
a = wait.until(EC.visibility_of_element_located((By.XPATH, "//<span[@class='gws-flights-dialog__calendar-duration-flipper-increase']")))
a.click()

Скриншот

enter image description here

1 Ответ

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

Чтобы щелкнуть стрелку вправо , чтобы увеличить количество дней в нижней части диалогового окна вместо метода visibility_of_element_located(), необходимо использовать метод element_to_be_clickable(), и вы можете используйте одно из следующих решений:

  • CSS_SELECTOR:

    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "div.gws-flights-form__departure-input[data-flt-ve='departure_date'] div.gws-flights-form__next"))).click()
    
  • XPATH

    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//div[@data-flt-ve='departure_date' and contains(@class,'gws-flights-form__departure-input')]//div[@class='gws-flights-form__next']"))).click()
    
...