最近在写一个项目的时候,发现使用xpath定位元素,元素是存在的。但是使用click()方法却出现element not visible。百思不得其解,然后网上找了好多,很多都是不着边的解决办法。
所以现在解决了这个办法后,写下用来备忘。首先,元素能定位,但是不能点击,可能是元素隐藏了。
ele=driver.find_element_by_xpath('//*[@id="test"]/a[2]') #找到定位的元素
print(ele.is_displayed() #判断元素是否可见,True表示可见,False表示隐藏
对于隐藏的元素是不可以直接调用的。但是可以通过JS进行调用,方法如下:
js = 'document.getElementsByClassName("laypage_next")[0].click()'
driver.execute_script(js)