今天踩了一个坑:
需要使用selenium-wire抓取请求heads信息,直接用命令 pip install selenium-wire安装后,调试代码一直报cannot import name 'TouchActions' from 'selenium.webdriver'
开发环境:
selenium 版本4.11.2 (用 pip show selenium 查看版本)
selenium-wire版本 2.5.2 (用 pip selenium-wire 查看版本),用pip install selenium-wire命令没有指定版本号安装的
python 3.7
一步一步跟进问题:
1、在selenium-wire 的webdriver中有from selenium.webdriver import TouchActions,但是我安装的selenium 版本4.11.2已经不使用TouchActions了 只使用ActionChains,然后在网上搜索到的解决办法是 回退到selenium 3.141.0 (pip install selenium ==3.141.0),但是此办法不管用,报各种请求超时错误
2、既然selenium-wire版本 2.5.2使用TouchActions,而selenium 版本4.11.2不使用TouchActions,那么是否有selenium-wire某个版本不使用TouchActions了呢,通过在https://www.cnpython.com/pypi/seleniumwire网上找到最新的selenium-wire 5.1.0解决问题,此版本支持selenium 4+版本 pip install selenium-wire ==5.1.0
总结:文章来源:https://www.toymoban.com/news/detail-721561.html
这种问题一般是版本不匹配导致,注意版本匹配即可文章来源地址https://www.toymoban.com/news/detail-721561.html
到了这里,关于ImportError: cannot import name ‘TouchActions‘ from ‘selenium.webdriver‘的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!