selenium chromedriver 打包相关问题请教

查看 137|回复 9
作者:zhuxiangyu1024   
[color=]          如何将selenium 相关的代码打包脱离本地环境执行

[color=]情况描述
:我写了一个自动化工具,使用了selenium,功能是没问题的,问题在于我需要 pyinstaller打包成文件之后在其他电脑上执行。这里涉及了chromedriver的问题。
1. 我考虑了将chromedriver打包到一起,但是这会面临chrome版本不匹配的可能,pass
2. 我尝试了使用 chromedrivermanager,但是涉及到了神秘力量即便我开启了科技也无法访问某狗网址
3. 我尝试了使用淘宝的镜像提供给chromedrivermanager,但是我发现虽然每天都在同步,但是版本比官方的落后,我自己的chrome都无法找到匹配的driver
4. 我寻找到了一个seleninum的封装库 helium,他号称复制了一份 chromedrivermanager的代码会自动下载driver,但是仅仅在具有神秘力量的电脑上可以正常下载。

[color=]我考虑过的方案
:
1. 使用和官网 同步的镜像,但是我没找到。 这应该是最好的方案。
2. 将chromedriver和chrome 一同打包进去,我期望的是能有一个chrome.exe的单文件这样我可以将 chrome.exe和chromedriver.exe一同打包到可执行文件当中,但是我通过搜索引擎没找到 chrome.exe。   
[color=]期待的方案
:
目的自然是解决问题,接受使用selenium  情况下的一切改变,可以更换其他浏览器的driver,可以更换打包工具或者将整个chrome文件夹打包进去。
最好的方案自然希望是我上面考虑过的俩个方案之一,因为这样我的改造最小。
[color=]希望了解的大家能帮助一下,最好是能够提供相关需要的文件或者哪里能下载 和简要的一俩行的代码。
  

方案, 最好的

zhuxiangyu1024
OP
  

暂时采取了方案二。
naoguazi000   

请问下楼主是这个悬赏贴么,我好像没怎么瞧见哪个帖子😁😅
https://t.wss.ink/f/c9o7vm3vdbc 复制链接到浏览器打开 一个屏幕录制的,我进行相关修改了,分辨率高而且录出来后占用不大
rwj1990   

换个EDge浏览器  官网下载个driver  不就OK了  
灿烂的小居   

用便携版的Chrome看看
之前论坛有发制作便携包的(Portable.Chrome.Updater.v1.4.3.0)GitHub向有相关项目
dtsuifeng   

折腾一个不能升级的chrome就是了。
似水流年2015   

你下载一个115的便携版谷歌浏览器,然后把115的驱动放到便携版文件夹里,在python的代码里,selenium在实例化时,指定浏览器路径和驱动路径为便携版里的文件路径。再正常打包python代码为exe,把这个exe和便携版的浏览器一起压缩,发给别人解压用就行。经常用这招
zhuxiangyu1024
OP
  


似水流年2015 发表于 2023-8-28 20:49
你下载一个115的便携版谷歌浏览器,然后把115的驱动放到便携版文件夹里,在python的代码里,selenium在实例 ...

我搜索到了很多这个信息,但是我不知道这个版本是不是有什么特殊意义。
能否将你使用的文件发送一份给我呢,感谢。
px307   

楼主是没有找到chrome.exe吗,这个在 C:\Program Files (x86)\Google\Chrome\Application 文件夹里, 你把   x.x.x.x(x表示是向个数字)文件夹和chome.exe复制出来, 在代码里指定你的exe的路径
BrowserPath=ResourcePath("./browser/chrome.exe")
DriverPath=ResourcePath("./driver/chromedriver.exe")
options=Options()
options.binary_location=BrowserPath
driver=webdriver.Chrome(DriverPath, options=options)
def ResourcePath(relativePath):
    try:
        basePath=sys._MEIPASS
    except Exception:
        basePath=os.path.dirname(__file__)
    return os.path.join(basePath, relativePath)
似水流年2015   


zhuxiangyu1024 发表于 2023-8-28 21:22
我搜索到了很多这个信息,但是我不知道这个版本是不是有什么特殊意义。
能否将你使用的文件发送一份给 ...

哪个版本都行,只要你有相应的驱动即可。用楼下 px307 的方法也行,思路和我的是一样的
您需要登录后才可以回帖 登录 | 立即注册

返回顶部