首页 > 解决方案 > 如何在 mac、linux 和 windows 等所有平台的 selenium 中使用 chromedriver?

问题描述

实际上,我正在做一个创建库包以添加到 PIP 存储库中的项目,我必须在其中创建必须在所有平台上都可以执行的单个程序。这是我的程序:

def DataSet():
 
 **PATH  = "C:\Program Files (x86)\chromedriver.exe"**
 DataSet.driver = webdriver.Chrome(PATH)
 DataSet.driver.get(url)   
 r = input('\n'+"Enter the dataset name: ")
 login_form = DataSet.driver.find_element_by_xpath("//h1[contains(text(),'{}')]".format(r))
 check = login_form.click() 
 urr = DataSet.driver.current_url

这里我定义的PATH在所有 windows、mac 和 Linux 中都不相同。有没有办法解决这个问题,请尽快回复。提前致谢。

标签: pythonseleniumselenium-chromedriver

解决方案


您可以采取不同的方法来解决这个问题,这里有一些解决方案:

使用 Docker 分发您的应用程序(最受欢迎)。

一旦你容器化你的应用程序/程序,无论它在哪个平台上运行,它都会运行相同的。chromedriver 也应该与 docker 容器一起打包。

这是Dockerfile使用 chromedriver 和 selenium 的示例参考:Python-Selenium-Chromedriver 的示例 Dockerfile

第二种方法是检查操作系统,然后在特定于平台的位置寻找 chromedriver。如果 chromedriver 不存在,请要求应用程序用户安装在特定位置(也添加 PATH),然后使用该应用程序。


推荐阅读