selenium常见报错记录
1.NameError: name 'xxx' is not defined
在创建对象时出错
2.expected an indented block 期望一个缩进的块
在报错的逻辑代码的前面加空格,注意python语言不支持tab和空格混合使用
3.missing 1 required positional argument
创建对象时出错,比如创建对象时直接写成A.B(1,2)
就会报上述错误,需调用类,再调用类中的方法aa=A() aa.B(1,2)
class A(self)
def B(self,x,y):
.......
4.selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 81
- Chrome版本和Chromedriver不一致,很多人经常发现之前还好好运行的程序,忽然有一天就报了上述错误,这是因为当你选择“帮助->关于Google Chrome”时Chrome就会自动升级,完全不给你选择的余地,且无论是否FQ的情况下都会升级,升级时可能不会替换掉原来旧的版本,而是两个版本共存,若你打开查看Chrome版本时检查和Chromedriver版本一致,但事实上程序自动化打开的可能是另一个已升级版本的Chrome,因此建议完全卸载掉旧版本的Chrome重新下载,并重新安装与之匹配的Chromedriver。
# webdriver版本查询
$cd /usr/local/bin
$chromedriver --version
#chrome 版本查询
打开浏览器菜单栏-》帮助-》关于Google Chrome
- 解决方案:
一劳永逸的方法就是关闭Chrome的自动更新