美文网首页
Selenium 报错问题

Selenium 报错问题

作者: 绛珠仙靖 | 来源:发表于2020-06-11 12:49 被阅读0次

    1.在一个页面跳转到第三方支付页面时,用driver.implicitly_wait 出现报错:

    raise exception_class(message, screen, stacktrace)

    selenium.common.exceptions.WebDriverException: Message: target frame detached

    查到Remote_connection 里面的exceute方法中,链接url的response 报错 404。 猜测是在跳转到支付页面时,先断开之前的链接,再去请求支付的链接,而断开时,请求的链接就会返回404.  

    解决方法:可以先用time.sleep 等待几秒钟去链接新的页面,然后再用driver.implicitly_wait 方法就可以了

    2.driver.implicitly_wait失效

    如果获取元素和动作使用同一条语句,则会使隐性等待失效

    将获取元素和动作拆分开来

    解决方法如下:

    getcode = driver.find_element_by_id("com.mingyuan.dwinmall:id/btn_get_code")

    time.sleep(50)

    getcode.click()

    3.mac 配置chromedriver

    电脑关机,然后在开机时按住 command + R 键,直到出现苹果 logo 和进度条时松开,进入OS X恢复模式。在终端输入命令csrutil disable,然后关闭终端。进入恢复模式后打开【实用工具】——【终端】

    mv: rename chromedriver to /usr/bin/chromedriver: Read-only file system

    然后百度的时候我又找到这样的一篇文章,参考类似的问题,我试着直接执行如下命令挂载写入权限

    sudo mount -uw /这时候再试一次sudo mv chromedriver /usr/bin

    4. element click intercepted

    ele = driver.find_element_by_xpath ("//p[@class='comment-form-rating-btn']/button" )# star

    webdriver.ActionChains ( driver ).move_to_element ( ele ).click ( ele ).perform ()

    5. selenium.common.exceptions.NoSuchWindowException: Message: no such window

    解决方法:切换到最后一个窗口

    windows =self.driver.window_handles

    self.driver.switch_to.window (-1)

    6.'list' object has no attribute 'click'

    将”driver.find_elements_by_xpath“改为“driver.find_element_by_xpath”即可解决。

    相关文章

      网友评论

          本文标题:Selenium 报错问题

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