python怎么封装firefox直接给exe调用

python的selenium程序会用到浏览器。整个程序打包后希望在打包后的文件中也封装一个firefox浏览器,避免要求用户去下载对应版本的浏览器。

阅读 3.2k
1 个回答

firefox的安装程序能够直接被打开。也就是说Mozilla Firefox中的firefox.exe能够直接被使用。此时直接使用pyinstaller封装python程序,而此时的python程序中通过路径调用firefox浏览器。如果要使用到浏览器的配置文件就一起放在封装目录中。具体目录如下

clipboard.png
build、和dist(剪切出getpdf.exe后删掉了)文件夹为pyinstaller打包生成的文件夹,生成的exe程序就在dist文件中。由于getpdf.py需要使用相对路径,所以把dist生成的getpdf.exe文件也放在对应的路径中。jnuycir2.default-release-1这个文件是浏览器的配置文件,这个文件怎么找很容易就能百度到。然后geckodriver这个自然就是驱动程序了,我也直接写成相对路径去找它,具体写法如下(这句话还是很不容易搜到的):

profile_directory="jnuycir2.default-release-1"
profile=webdriver.FirefoxProfile(profile_directory)
driver = webdriver.Firefox(profile,executable_path="geckodriver.exe",firefox_binary="Mozilla Firefox/firefox.exe")

然后这样一搞,你的程序就能直接使用自己包中的浏览器了。对于解决很多不兼容程序的浏览器或者是项目被要求不让用户去安装浏览器,算是一个不错的解决方式吧。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题