美文网首页
UI自动化遇到element click intercepted

UI自动化遇到element click intercepted

作者: 二十尹 | 来源:发表于2020-12-17 10:03 被阅读0次

    原代码为:

    self.driver.find_element_by_xpath('/html/body/div[1]/div[1]/div/div/button').click()
    

    报错:

    element click intercepte
    

    解决方法:
    通过执行js脚本点击该元素。Webdriver对部分浏览器上的控件时不支持直接驱动的,例如滚动条、时间控件,所以我们需要执行JS脚本,间接完成这些操作

    @logger_doc()
    def submit(self):
        """需要滚动才能看见的按钮"""
     self.screen(doc=self.submit.__doc__)
     submit_btn = self.find_element_by_xpath(
            '//*[@id="project"]/div[3]/div[2]/div/div[2]/div/div/button')
     return self.driver.execute_script("arguments[0].click();", submit_btn) 
    

    页面自动下滑至某元素可见:

    ele_s = web_driver.find_elements_by_css_selector('#project > div:nth-child(3) > div.l-out-dialog > 'div > div.l-dialog-content > div > div > button')
    ele = ele_s[0]
    web_driver.execute_script('arguments[0].scrollIntoView();', ele)  # 定位至ele可见
    firm_page.submit()
    assert firm_page.find_element_exist_by_xpath(firm_page.follow_window())
    

    成功啦

    相关文章

      网友评论

          本文标题:UI自动化遇到element click intercepted

          本文链接:https://www.haomeiwen.com/subject/xpwagktx.html