python打包的exe在自己电脑上可以正常运行,发给对方结果闪退或报错该如何解决

如果你的程序是这样写死了浏览器的路径

以谷歌为例:

谷歌浏览器软件安装的位置

self.option.binary_location = 'C:/Program Files/Google/Chrome/Application/chrome.exe'

谷歌驱动器的位置

self.driver = webdriver.Chrome(executable_path='D:/chromedriver.exe',
                                       chrome_options=self.option)

而生成的程序在自己电脑上可以正常运行,而在对方电脑上出现闪退或者报错chromedriver需要执行的路径,解决的思路和办法如下:

1.闪退,无报错,打不开谷歌浏览器:
①注意对方的chrome浏览器装在哪个位置?
我的:C:/Program Files/Google/Chrome/Application/chrome.exe
复制这个路径到输入框里可以直接打开谷歌浏览器那就是正确路径
在这里插入图片描述

②注意对方谷歌版本,不同谷歌版本有对应的chromedriver.exe
chromedriver驱动下载链接
32/64位的谷歌都可以使用驱动,因为驱动是win32的
在这里插入图片描述

版本号前面的107.0.5304 要是一样的才是对应版本
在这里插入图片描述

对方的电脑是什么系统就要下载什么系统的驱动。如果自己是win系统自己用exe那就下载win的,如果这个exe还要发送给对方,那就要考虑对方的系统是mac还是win或者是linux,然后下载对应系统的chromedriver驱动。我是windows系统,所以下载win32
在这里插入图片描述
2.报错,打不开谷歌浏览器
①报错提示驱动可执行文件需要路径,说明chromedriver.exe存放的路径不对或者是没有下载这个驱动,如果没有下载则看上一步找准对应版本谷歌驱动
在这里插入图片描述
解决方法:
def函数定义里写的chromedriver.exe的路径在哪里,就要把谷歌的驱动放在哪里,比如我写的路径在D盘,那么我的驱动就放在D盘

谷歌驱动器的路径

self.driver = webdriver.Chrome(executable_path='D:/chromedriver.exe',
                                       chrome_options=self.option)

在这里插入图片描述

②报错提到ssl
解决方法:
在函数定义初始函数时,要加上几行代码避免报错

option = ChromeOptions()
option.add_experimental_option('excludeSwitches', ['enable-automation','enable-logging'])
self.option.add_argument("--no-sandbox")
self.option.add_argument('--ignore-certificate-errors')  # ssl
self.option.add_argument('--ignore-ssl-errors')

3.当没有闪退也能自动打开谷歌浏览器了,但程序运行出现了问题
则要注意对方电脑的速度,有时候对方电脑缓冲比较慢,比较卡,而我们写的代码都是几秒之间就能完成的自动化输入、点击。对方还没运行出第一步的成果,代码已经做了第二步的操作,就会报错。比如页面都还没跳转过去,就已经在搜索html当然会搜索不到,就会报错。
解决方法:
所以我们可以适当的写上一些代码让程序等一等。

time.sleep(15) #多缓冲一下,电脑比较慢(强制等待15s)
self.driver.implicitly_wait(10)#程序没来,等10s,来了就不用等了
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值