无法通过 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()
在 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()