我试图在点击复选框之前实现显式等待:
WebDriverWait(self.driver, 10).until(EC.element_to_be_clickable((By.XPATH, "pay_type_list_item_id_salary"]")))
self.driver.find_element_by_xpath('//input[@id="pay_type_list_item_id_salary"]').click()
我的问题是我的显式等待一直发送错误:
点(663,478)无法点击。其他元素将收到点击。
我正在尝试使用不同类型的显式等待,例如visibility_of_element_located
或invisibility_of_element_located
(使用我脚本上一步中的元素),但这些选项没有运气。
如果我在两行之间添加time.sleep(1)
我的脚本可以运行,但我知道使用time.sleep
不是最有效的方法。
在此之前的上一步打开日历,我不确定它是否会在日历结束时尝试给出点击,这就是接收此错误的原因。
答案 0 :(得分:1)
您收到的错误表明另一个元素正在覆盖您尝试单击的元素。如果你看一下错误信息(你真的应该在你的问题中发布完整的错误信息),它会告诉你那个元素的HTML。这将使您了解阻止点击的元素,以便您可以找到它并找出页面的哪个部分。然后你可以等它离开。根据您的描述,听起来您需要等待日历关闭。