【问题标题】:Python + Selenium: Path to driverPython + Selenium:驱动程序的路径
【发布时间】:2018-07-12 20:39:27
【问题描述】:

是否有可能运行 Python + Selenium 脚本而不在 Python 行的每个脚本中输入 exe 文件的路径:

driver = webdriver.Chrome().

同样的问题适用于“IE Driver”、“Edge Driver”和“Gecko Driver”。它可以由一些通用的python类来完成吗?我应该为它创建一些额外的文件吗?还是集成开发环境配置的问题?

我会很感激你的专家的话。

【问题讨论】:

    标签: python selenium selenium-chromedriver


    【解决方案1】:

    您可以更改source code。只需将 executable_path 的值分配给您的 chromedriver 路径。让我解释一下-

    当你“正常”输入这个 -

    driver = webdriver.Chrome(r"path\chromedriver.exe")
    

    WebDriver 对象在其class 中初始化。类文件位于 //selenium_folder/webdriver/chrome/webdriver.py。在其中,如果您注意到__init__ 方法,它接受executable_path 的参数。所以你可以简单地做 -

    def __init__(self, executable_path="chromedriver", port=0,
                     options=None, service_args=None,
                     desired_capabilities=None, service_log_path=None,
                     chrome_options=None):
    
         executable_path = "path\chromedriver.exe"
    

    这样,下面的代码就可以成功运行驱动了-

    driver = webdriver.Chrome()
    

    【讨论】:

      【解决方案2】:

      无论您使用哪种操作系统,您都有多种选择来实现这一目标。

      • 首先你可以把驱动文件(比如chorme_driver.exe)放在一个相对的 文件夹到你的 python 文件。 (这是我通常做的)

      driver = webdriver.Chrome('../chromedriver.exe')

      driver = webdriver.PhantomJS('../phantomjs.exe')

      • 你可以把地址写到chrome driver 在 Windows、Linux 或 ... 中的 PATH 变量中...

      driver = webdriver.Chrome('chromedriver.exe')

      driver = webdriver.PhantomJS('phantomjs.exe')

      • 您还可以设置环境变量并始终依赖它。

      driver = webdriver.Chrome(os.environ.get('CHROME_DRIVER_PATH'))

      driver = webdriver.PhantomJS(os.environ.get('PHANTOMJS_DRIVER_PATH'))

      【讨论】:

        【解决方案3】:

        是的,您必须将驱动程序存储在 PATH 中。例如我的地址是C:\python\python(version)\lib\site-package\selenium\webdriver,然后将驱动程序存储在正确的文件夹中。还要确保将路径添加到您的机器环境变量中。

        【讨论】:

          【解决方案4】:

          这对我有用。我将驱动程序文件与我正在编码的应用程序放在同一个文件夹中,代码中的行如下所示:

          web = webdriver.Chrome('./chromedriver.exe')

          【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-10-20
          • 1970-01-01
          • 2022-11-21
          相关资源
          最近更新 更多