Selenium处理UI界面的元素被遮盖后,元素定位无效的问题
比如这里的图片,因为会有固定浮窗导致,箭头下方元素被挡住,运行代码会报错,可以找到元素,但是无法点击
这个时候需要 考虑,第一定位的方法是否有效,定位元素是否有效,可以分开使用 self.driver.find_element()跟click()方法去试错
# 移动到可见的元素上,并进行点击
def click_element_execute_script(self,by,value):
time.sleep(1)
element = self.wait_for_element_displayed(by,value)
time.sleep(1)
self.driver.execute_script("arguments[0].scrollIntoView();", element)
self.click(by,value)
# 移动到可见的元素上,不点击
def element_execute_script(self,by,value):
time.sleep(1)
element = self.wait_for_element_displayed(by,value)
time.sleep(1)
self.driver.execute_script("arguments[0].scrollIntoView();", element)
这边使用了两种方法,给各位选择,记得代码是写的,方法是活的,如果想封装或者优化都是可以的
有了这个代码后,运行记得加上等待时间防止报错
卡了我两天,一句代码就解决了,希望大家可以使用到!