如何使用Selenium(Python)选择此日期选择器按钮



好的,所以我正在尝试点击这个测试自动化测试页面上的下一个按钮(https://www.phptravels.net/)。图片:请在此处查看按钮和DOM。

我试着通过XPATH:找到它

current_browser.find_element_by_xpath("//th[@class='next']").click()

和XPATH,但正在等待加载:

WebDriverWait(current_browser, 10).until(EC.presence_of_element_located((By.XPATH, '//th[@class="next"]'))).click()

尽管我努力了,它总是抛出elementNotVisibleException:

selenium.common.exceptions.ElementNotVisibleException: Message: element not visible

我应该如何定位并单击此按钮?

这里的问题是页面中有21个类别为nextth标记。似乎有7个日期选择器下拉菜单,每个下拉菜单都包含一个日期、月份和年份选项-您当前的XPath将始终选择它在页面中找到的第一个日期选择器,即用于按天选择入住日期的日期选择器(这就是您获得ElementNotVisibleException的原因(。

从你的屏幕截图来看,你似乎正在尝试按月选择,在这种情况下,你的XPaths可以如下。。。

办理登机手续://div[@class='datepicker dropdown-menu'][1]/div[@class='datepicker-months']//th[@class='next']

退房时间://div[@class='datepicker dropdown-menu'][2]/div[@class='datepicker-months']//th[@class='next']

如果你希望引用不同的日期选择器,那么你可以在这些XPath中适当地交换monthsdaysyears——我希望这会有所帮助!

您是否尝试过使用Chrome开发工具生成的xpath?它给了我这个xpath:"/html/body/div[9]/div[2]/table/thead/tr/th[3]",它似乎在中工作

最新更新