当前位置: 首页 > 知识库问答 >
问题:

Python Selenium Chrome Webdriver[副本]

白子默
2023-03-14

我正在开始一本《自动化无聊的东西》的书,我正在尝试通过Python打开一个chrome web浏览器。我已经安装了selenium和

我已尝试运行此文件:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys

browser = webdriver.Chrome()
browser.get('https://automatetheboringstuff.com')

但正因为如此,我得到了这个错误:

Traceback (most recent call last):   File "C:\Program Files
   (x86)\Python36-32\lib\site-packages\selenium\webdriver\common\service.py",
 line 74, in start
     stdout=self.log_file, stderr=self.log_file)   File "C:\Program Files (x86)\Python36-32\lib\subprocess.py", line 707, in __init__
     restore_signals, start_new_session)   File "C:\Program Files (x86)\Python36-32\lib\subprocess.py", line 990, in _execute_child
     startupinfo) FileNotFoundError: [WinError 2] The system cannot find the file specified

在处理上述异常时,又发生了一个异常

Traceback (most recent call last):   File "C:/Program Files
(x86)/Python36-32/test.py", line 5, in <module>
    browser = webdriver.Chrome()   File "C:\Program Files (x86)\Python36-32\lib\site-packages\selenium\webdriver\chrome\webdriver.py",
line 62, in __init__
   self.service.start()   File "C:\Program Files (x86)\Python36-32\lib\site-packages\selenium\webdriver\common\service.py",
line 81, in start
   os.path.basename(self.path), self.start_error_message) selenium.common.exceptions.WebDriverException: Message: 'chromedriver'
  executable needs to be in PATH. Please see
https://sites.google.com/a/chromium.org/chromedriver/home

共有1个答案

洪涵亮
2023-03-14

您需要指定chromedriver所在的路径。

>

  • 从此处下载您所需平台的chromedriver。

    将chromedriver放置在您的系统路径或代码所在的位置。

    如果不使用系统路径,请链接您的Chromedriver.exe(对于非Windows用户,它仅称为Chromedriver):

    browser = webdriver.Chrome(executable_path=r"C:\path\to\chromedriver.exe")
    

    (将executable_path设置为chromedriver所在的位置。)

    如果您已将chromedriver放置在系统路径上,您可以通过执行以下操作来快捷方式:

    浏览器=webdriver.chrome()

    如果您运行在基于UNIX的操作系统上,则可能需要在下载chromedriver后更新其权限,以便使其可执行:

    chmod+x ChromeDriver

    仅此而已。如果您仍然遇到问题,可以在另一篇StackOverflow文章中找到更多信息:can't use chrome driver for Selenium

  •  类似资料:
    • 正如我所想的那样,我一直在解决一个算法问题并找到了解决方案。但没想到我遇到了一个奇怪的问题。 让我们假设我在英特尔第11代处理器java 8/17上有以下代码(两者都有): 把你的眼睛指向解决函数。 在这里我们有一个简单的解决方案,调用函数 n 次并测量所需的时间(我不使用 JMH,因为我的问题的测试系统使用简单的一次性时间测量)。在捕获开始时间之前,它使用内置的 函数按自然顺序对数组进行排序。

    • 我对这个(可能是)简单的铸造示例有一个棘手的问题。你能帮帮我吗? 但更尴尬的是,我不知道为什么其他两种说法都没问题。 我看不出OtherIf和ChildIf之间有任何联系。那么,在案例1中,当这两个接口之间没有“扩展”时,如何将OtherIf强制转换为ChildIf呢?

    • 我需要一些帮助来理解我的程序哪里出错了,我有一个非常简单的程序来学习多线程,但是每次我运行下面的代码时,它给我一个IllegalStateMonitorException。我不知道是什么原因造成的,虽然我怀疑它可能是我的同步块,谢谢。 主要方法类: 线程1: 线程2:

    • 问题内容: 我实现了此处描述的副本构造函数。但是问题仍然是,当我更新时,会将相同的更新应用于。所以,我不明白我的代码有什么问题? 问题答案: 在复制构造函数中,您只是在进行浅表复制,而您需要进行深表复制: 在这里,您仍在复制的引用,该引用仍指向same 。您也应该对其进行修改以创建列表的副本。可能还需要像下面这样在arraylist中创建元素的副本:

    • 我不懂pyplot。子地块(330 1 i)

    • 只读操作: 有没有办法有一个MongoDB副本集,但要使连接到的框上的MongoDB实例成为被查询的MongoDB? 我在AWS负载平衡器后面有三个EC2实例。 在每个EC2实例上运行MongoDB,它是副本集的一部分。 我在nodeJS上有expressendpoint,我连接到副本集,如下所示 我希望在MongoDB副本集的所有三个实例上均匀分布查询负载,而不是默认情况下将所有查询路由到定义了

    • 简单的赋值不会创建数组对象的副本。 相反,它使用原始数组的相同来访问它。 id()返回 Python 对象的通用标识符,类似于 C 中的指针。 此外,一个数组的任何变化都反映在另一个数组上。 例如,一个数组的形状改变也会改变另一个数组的形状。 我们的数组是: [0 1 2 3 4 5] 调用 id() 函数: 139747815479536 a 赋值给 b: [0 1 2 3 4 5] b 拥有相

    • 我有一个iframe,里面有一个小部件。源来自不同的域。在其内容上有一个带有提交按钮的表单。单击时,打开的页面位于iframe内。我的问题,我已经研究过了,但还没有找到答案,是这样的——“有没有办法让我可以访问那个按钮,这样新的页面就可以在一个单独的窗口中打开?” 谢谢你能提供的任何帮助。Stackoverflow规则。