问题描述:
1.执行自动化C:\Users\当前用户\AppData\Local\Temp 目录产生大量临时文件导致自动化执行异常。
应用场景:
所有Windows机器的默认配置。
原因:
编译执行Python脚本产生.pyc文件和.pyd文件。
通过Selenium下的Webdriver调用浏览器驱动程序(如chromedriver.exe)在没有正常退出的情况下产生的临时内存文件没有被释放。
操作系统本身使用产生的临时文件。
分析:
Python语言特性+操作系统特性。
解决方案:
通过更改默认临时文件目录,然后创建浏览器进程前之前清除。
在F盘创建TEMP文件夹。
更改环境变量TEMP和TMP(包含用户变量和系统变量都要更改),值为F:\TEMP。
重启电脑。
Python代码os.popen('RD %TEMP% /S/Q')。
Python代码os.popen('MKDIR %TEMP%')。
问题描述:
《object》《/object》上传文件不能send_keys方法。
应用场景:
所有除了《input》上传文件的地方。
原因:
弹出本地路径选择框,相当于flash,Selenium类库本身暂不支持操作flash。
分析:
点击触发文件系统选择框的按钮后,由于焦点自动聚焦在文件路径输入框,这时模拟键盘输入事件,输入所需文件的路径即可。
解决方案:
options.add_argument('--user-data-dir=C:/Users/kats/AppData/Local/Google/Chrome/User Data') 用于解决点击按钮后提示“允许使用flash”,原理是手动指定chrome配置文件,前提是chrome设置中已设置在运行flash之前不再询问。
利用PyUserInput中的pykeyboard模拟键盘输入事件,原理是keyboard会根据当前聚焦的元素位置输入,然后直接输入文件所在的路径+文件名。
结语:
跟大家推荐一个学习资料分享群:175317069,里面大牛已经为我们整理好了许多的学习资料,有自动化,接口,性能等等的学习资料!人生是一个逆水行舟的过程,不进则退,咱们一起加油吧!
网友评论