[web教学] 元素点击报错:element click intercepted

[复制链接]
查看1059 | 回复0 | 2023-8-23 12:14:16 | 显示全部楼层 |阅读模式 来自 中国北京
在举行某个弹窗的关闭操纵时,报出了以下错误


element click intercepted — 元素点击被拦截
错误缘故原由大概是由于这个按钮上面另有别的东西覆盖,以是点击不到

以是有两种方法:
方法1,调用ActionChains类模仿鼠标点击:
element = driver.find_element_by_css(‘div[class*=“loadingWhiteBox”]’)
webdriver.ActionChains(driver).move_to_element(element ).click(element ).perform()
方法2,使用js点击:
element = driver.find_element_by_css(‘div[class*=“loadingWhiteBox”]’)
driver.execute_script(“arguments[0].click();”, element)



我在举行对一个APP使用selenium造数据时,遇到了以下情况:

一级业务有10个选项,但是页面上只能展示3个选项,其他选项须要上滑才能选择:
  1. # 选择一级业务
  2. driver.find_element(By.XPATH,'/html/body/div/div/div[2]/div/div[1]/form/div[1]/div[2]/div[2]/div/div/input').click()
  3. choose1 = driver.find_elements(By.XPATH,'/html/body/div/div/div[5]/div/div[2]/div[1]/ul/li')
  4. choose1[random.randint(0,len(choose1))].click()
  5. driver.find_element(By.XPATH,'/html/body/div/div/div[5]/div/div[1]/button[2]').click()
复制代码
这里随机选择前3个选项时不会报错,但是随机选择到背面的选项时就会报错,报错信息是元素不可点击,缘故原由是选项在末了面,没有在页面上展示,以是点击不到,然后就用了以下方法解决:
  1. # 选择一级业务
  2. driver.find_element(By.XPATH,'/html/body/div/div/div[2]/div/div[1]/form/div[1]/div[2]/div[2]/div/div/input').click()
  3. choose1 = driver.find_elements(By.XPATH,'/html/body/div/div/div[5]/div/div[2]/div[1]/ul/li')
  4. a = int(random.randint(0,len(choose1)))
  5. for i in range(a):
  6.     choose1[i].click()
  7. driver.find_element(By.XPATH,'/html/body/div/div/div[5]/div/div[1]/button[2]').click()
复制代码
直接从第一个元素遍历点击,不绝点击到我想要点击的元素

来源:https://blog.csdn.net/m0_55034727/article/details/129361626
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则