ImportError: cannot import name ‘TouchActions‘ from ‘selenium.webdriver‘

今天踩了一个坑:

    需要使用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

总结:

这种问题一般是版本不匹配导致,注意版本匹配即可

你可能感兴趣的:(selenium,javascript,测试工具)