用win7 python3 selenium3写的脚本打包成EXE后在其他电脑上重新配置环境变量还是不能打开浏览器
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用win7 python3 selenium3写的脚本打包成EXE后在其他电脑上重新配置环境变量还是不能打开浏览器相关的知识,希望对你有一定的参考价值。
用win7 64位 python3 selenium3写的脚本用pyinstaller打包成EXE后在自己电脑上能运行。放到其他电脑上重新配置环境变量还是不能打开浏览器(Firefox)。有没有解决方案?最好可以不用人工配置环境变量!
万分感谢!
用pyinstaller打包一个tkinter的exe程序
今天用pyinstaller打了个小tk程序,整理了一些小问题的解决
打包单个exe文件
-F 选项可以打出一个exe文件,默认是 -D,意思是打成一个文件夹。
pyinstaller -F TestDataGen.py12
打出的桌面程序去掉命令行黑框
-w 选项可以打桌面程序,去掉命令行黑框
pyinstaller -F -w TestDataGen.py12
修改程序默认图标
-i 可以设置图标路径,将图标放在根目录:
pyinstaller -F -w -i gen.ico TestDataGen.py12
如下:
修改程序左上角的’tk’图标
# ...省略部分root = Tk(className='数据生成器')
root.iconbitmap('gen.ico') # 加图标app = App(root)
root.mainloop()12345
如下:
替换’tk’图标后,打包的exe执行失败
原因是图标没有打进去,或者打包成文件夹,或者把图标转化成base64数据:
# 这段程序可将图标gen.ico转换成icon.py文件里的base64数据import base64
open_icon = open("gen.ico","rb")
b64str = base64.b64encode(open_icon.read())
open_icon.close()
write_data = "img = '%s'" % b64str
f = open("icon.py","w+")
f.write(write_data)
f.close()123456789
修改主程序:
# ...省略部分import base64from icon import imgimport os# 将import进来的icon.py里的数据转换成临时文件tmp.ico,作为图标tmp = open("tmp.ico","wb+")
tmp.write(base64.b64decode(img))
tmp.close()
root = Tk(className='数据生成器')
app = App(root)
root.iconbitmap('tmp.ico') # 加图标os.remove("tmp.ico") # 删掉临时文件root.mainloop()123456789101112131415
再执行打包命令
pyinstaller -F -w -i gen.ico TestDataGen.py
python模块selenium使用
python模块selenium使用
我使用的是python2.7
可以直接用pip install 安装
这里记录一下,我使用这个模块编写爬虫的学习
做爬虫,我之前都是使用requests 模块写的,如果简单的爬虫,用这个模块确实可以,但是,如果我们要爬取一些比较复杂的网站,如果直接用这个模块写的话,那么就要匹配很多数据,也比较容易出错,或者说是没有那么方便(写是可以写的,只是时间的问题,如果有简单的,肯定是用简单的,当然无论复杂或简单都是学一下)。如果使用requests模块的话,要考虑更多的东西,但是也可以让你更了解整个过程
言归正传:
还是拿之前写的发斗鱼弹幕的代码来讲解(只是简单记录一下,没有详细讲代码)
在安装好上面的模块之后,还要下载一个驱动,因为我们是要打开浏览器,然后用代码实现鼠标的点击和输入
我这里使用的是Chrome浏览器,所以要下载这个浏览器的一个驱动(我称那个东东叫驱动...)
先看一下Chrome浏览器的版本
我用的是最新版的
可以到这里下载驱动
http://chromedriver.chromium.org/
需要FQ才能访问
我的是最新版,所以直接下载最新的就可以,建议直接将chrome浏览器更新到最新的,然后直接下载最新版就可以了
下载好之后,将那个压缩包解压到一个文件夹里面(我是直接解压到Chrome的安装路径上面了)
然后将这个路径加入到环境变量里面
然后再启动代码就不会提示没有驱动了
Selenium的基本使用
先加载一个浏览器
然后再请求一个网址
运行代码就会自动打开一个新的Chrome浏览器,然后跳转到指定的网址
最好在代码写一个不断循环的,
不然就会一跳到这个网址,然后就关闭了
因为代码运行完就会停止掉代码
基本使用就是那些了,还有很多功能,等用到了,再继续记录了
下面写一下怎样不打开界面
因为我们做爬虫,我们希望代码执行,然后输出一系列的数据,如果执行代码,弹出一个浏览器,这样子有点不好,不但占内存,也影响效率
上面的代码就是有界面和没有界面的配置
有时候我们需要设置一个请求头:
上面只是简单地写一下,记录一下,如果想结合代码学习的话,可以到GitHub看我的代码
GitHub地址:https://github.com/niechaojun/Douyu_Barrage
以上是关于用win7 python3 selenium3写的脚本打包成EXE后在其他电脑上重新配置环境变量还是不能打开浏览器的主要内容,如果未能解决你的问题,请参考以下文章
Selenium3+Python3_15:数据驱动ddt+excel
Selenium3与Python3实战 Web自动化测试框架