美文网首页
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