有时候按钮元素已经定位到了,运行也没报错,点击后页面没有反应。这种问题是比较头疼的,因为没有任何报错,只是click事件失效了。本篇用两种方法解决这种诡异的点击事件失效问题。
一、遇到的问题
在百度的搜索设置中,点击 “保存设置” 按钮,alert提示框没有弹出来。该问题应该是第一步操作select下拉框导致的,注释掉select下拉框相关代码是可以点击成功的。
二、通过点击父元素解决
第一种解决办法是先将 “保存设置” 按钮的父元素点击一次,然后再点击 “保存设置” 按钮。
# 先点击父元素
driver.find_element('id', 'gxszButton').click()
# 再点击“保存设置”按钮
driver.find_element('class name', 'prefpanelgo').click()
三、通过JS代码解决
第二种解决办法是直接用JS代码执行点击事件。
# 通过JS代码解决
js = 'document.getElementsByClassName("prefpanelgo")[0].click()'
driver.execute_script(js)