1 常见错误
1.1 Python
- PIP提示不是最新版本:You should consider upgrading via the 'python -m pip install --upgrade pip' command.
办法:在cmd窗口执行python -m pip install -U pip即可。
- 浏览器版本过低:selenium.common.exceptions.SessionNotCreatedException: Message: session not created exception: Chrome version must be >= 64.0.3282.0
办法:升级浏览器版本后执行成功
1.2 浏览器
- 错误提示:ConnectionResetError: [WinError 10054] 远程主机强迫关闭了一个现有的连接。
办法:下载最新的chromedriver
1.3 定位
- 错误提示:TypeError: __init__() takes 2 positional arguments but 3 were given
解决方法:可能是()少了
1.4 截图
1、错误提示:serWarning: name used for saved screenshot does not match file type. It should end with a `.png` extension
解决方法:将截图存放的图片格式jpg转换为png
2、提示Unicode error:
解决方法:在路径前面增加r
driver.get_screenshot_as_file("C:Users iansAppDataLocalProgramsPythonPython36example-JLLpictures 01cookie.png")
改为:
driver.get_screenshot_as_file(r"C:Users iansAppDataLocalProgramsPythonPython36example-JLLpictures 01cookie.png")
注:以上内容注释后又报上面错误,未找到原因
1.5 CSV
原内容:
user_file = csv.reader(open('users.csv', 'r') )
错误提示:UnicodeDecodeError: 'gbk' codec can't decode byte 0xbf in position 2: illegal multibyte sequence
解决办法:
① 将csv存成utf-8的编码格式
② 将脚本改为:user_file = csv.reader(open('users.csv', 'r',encoding='utf-8'))
1.6 Xml
1、当.py文件命名为xml.py时,报错提示:ModuleNotFoundError: No module named 'xml.dom'; 'xml' is not a package
解决办法:将xml.py文件的名称命名为其他内容即可。
1.7 Selenium Grid2运行错误
提示:Unsupported major.minor version 52.0
方法:下载最新的java
1.8 Iedriver 提示:string indices must be integers
执行baidu.py未知()
2 注意事项
2.1 Python
1、 python项目的路径中不要出现中文或空格。
2、 python项目的目录和文件名不要与引用类库同名。
2.2 元素定位
1、 熟练掌握Xpath和CSS定位
2、 准备webdriver API文档,随时查阅webdriver所提供的方法
3、 学习掌握javascript、jQuery技术,可以使用该技术去操作web页面
2.2.1 浏览器
如果关闭浏览器再次打开浏览器需要重新加载webdriver,否则会报:“ConnectionAbortedError: [WinError 10053] 你的主机中的软件中止了一个已建立的连接”错误,即重新写:driver = webdriver.Chrome()
3 常见问题
3.1 上级目录模块调用
调用上级目录下的模块:
import sys
sys.path.append("..")
from calculator import count #上级文件中应导入的方法
https://www.cnblogs.com/luoye00/p/5223543.html
3.2 Py文件命名
文件命名不可与python默认的模块、方法名字重复,否则会引起错误,提示所有引用模块或方法不存在。