无法通过 Selenium 单击元素 Python

Unable to click on an element through Selenium Python

在 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()

截图

要单击 右箭头 以增加对话框底部的天数而不是使用 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()