Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
添加SeleniumWebDriver作为python项目依赖项_Python_Selenium - Fatal编程技术网

添加SeleniumWebDriver作为python项目依赖项

添加SeleniumWebDriver作为python项目依赖项,python,selenium,Python,Selenium,是否有一种方法可以将SeleniumWebDriver作为python项目依赖项安装 我需要这样的方式,所以当这个项目转到一个操作系统时,没有安装selenium webdriver不会成为这个项目在该操作系统上正常运行的问题 先谢谢你 请看我自己对这个问题的回答 Stefan这是我为所有项目所做的工作 创建一个包含所有提到的项目依赖项的文本文件。确保您也提到了版本。 示例:requirement.txt pytest==2.9.1 硒==2.35.1 创建一个Shell脚本或批处理文件,

是否有一种方法可以将SeleniumWebDriver作为python项目依赖项安装

我需要这样的方式,所以当这个项目转到一个操作系统时,没有安装selenium webdriver不会成为这个项目在该操作系统上正常运行的问题

先谢谢你

请看我自己对这个问题的回答


Stefan

这是我为所有项目所做的工作

  • 创建一个包含所有提到的项目依赖项的文本文件。确保您也提到了版本。 示例:requirement.txt

    • pytest==2.9.1
    • 硒==2.35.1
  • 创建一个Shell脚本或批处理文件,创建一个新的虚拟环境,安装所有依赖项并运行测试
我这样解决了我的问题:

  • 为我正在使用的当前操作系统安装pip
  • 使用以下命令安装selenium:

    pip install --install-option="--prefix=<path_to_dependencies_in_my_python_project>" -U selenium
    


    看看路径的区别——在Linux上它直接安装在文件夹中,而在windows上它安装在子文件夹“Lib\site packages”中。我也不知道为什么,但我对未定义名称“ModuleNotFoundError”有问题。

    因为webdriver不是Python包,所以不可能将其作为依赖项添加。另外,webdriver是由第三方提供的,因此您需要要求用户下载它。好的,那么让我们假设该操作系统总体上安装了selenium(它可以由maven project访问),但没有python部分。有没有一种方法可以将这个python部分作为依赖项添加到我的项目中,因为它可以添加到maven中?这不是OP所要求的。。。OP询问的是selenium webdriver,而不是selenium。在我的例子中,这个python项目需要在基于windows的浏览器VM上运行,该VM可以作为java maven依赖项运行selenium。我想我只需要selenium的python部分来调用主selenium执行,还是我错了?@AlexFung requirement.txt只是一个例子。他可以根据自己的项目需求设置不同的依赖项。@stefan.stt与您希望在哪个环境中运行此项目无关。pip安装可在所有环境中运行。但是,我不确定是否可以使用maven安装python库。据我所知,selenium是基于Java的。Selenium for python使用python脚本,这些脚本最终调用基于Java的Selenium。因此,我的想法是,如果Java selenium安装在这个基于windows的浏览器VM上,如何将这些selenium python脚本作为项目依赖项添加到我的项目中。或者我不理解SeleniumWebDriver的逻辑。
     # windows
     try:
         from selenium import webdriver
     except ModuleNotFoundError:
         os.system("pip install --install-option=\"--prefix={}\" selenium"
                   .format(os.path.join(project_main_folder_path, "_depedencies")))
         from selenium import webdriver
    
    # Linux
    try:
        from selenium import webdriver
    except:
        os.system("pip install selenium -t {}"
                  .format(os.path.join(project_main_folder_path, "_depedencies", "Lib", "site-packages")))
        from selenium import webdriver