【问题标题】:Selenium - Python - AttributeError: 'WebDriver' object has no attribute 'find_element_by_name'Selenium - Python - AttributeError:“WebDriver”对象没有属性“find_element_by_name”
【发布时间】:2022-06-27 21:52:23
【问题描述】:

我正在尝试让 Selenium 与 Chrome 一起使用,但我一直遇到此错误消息(以及其他类似的错误消息):

AttributeError: 'WebDriver' object has no attribute 'find_element_by_name'

find_element_by_id()find_element_by_class() 等也会出现同样的问题。

我也打不通send_keys()

我只是运行这里提供的测试代码:https://chromedriver.chromium.org/getting-started

import time

from selenium import webdriver



driver = webdriver.Chrome("C:/Program Files/Chrome Driver/chromedriver.exe")  # Path to where I installed the web driver

driver.get('http://www.google.com/');

time.sleep(5) # Let the user actually see something!

search_box = driver.find_element_by_name('q')

search_box.send_keys('ChromeDriver')

search_box.submit()

time.sleep(5) # Let the user actually see something!

driver.quit()

我使用的是 Google Chrome 版本 103.0.5060.53,并从这里下载了 ChromeDriver 103.0.5060.53:https://chromedriver.chromium.org/downloads

运行代码时,Chrome 会打开并导航到 google.com,但会收到以下输出:

C:\Users\Admin\Programming Projects\Python Projects\Clock In\clock_in.py:21: DeprecationWarning: executable_path has been deprecated, please pass in a Service object
  driver = webdriver.Chrome("C:/Program Files/Chrome Driver/chromedriver.exe")  # Optional argument, if not specified will search path.

DevTools listening on ws://127.0.0.1:58397/devtools/browser/edee940d-61e0-4cc3-89e1-2aa08ab16432
[9556:21748:0627/083741.135:ERROR:device_event_log_impl.cc(214)] [08:37:41.131] USB: usb_service_win.cc:415 Could not read device interface GUIDs: The system cannot find the file specified. (0x2)
[9556:21748:0627/083741.149:ERROR:device_event_log_impl.cc(214)] [08:37:41.148] USB: usb_device_handle_win.cc:1048 Failed to read descriptor from node connection: A device attached to the system is not functioning. (0x1F)
[9556:21748:0627/083741.156:ERROR:device_event_log_impl.cc(214)] [08:37:41.155] USB: usb_device_handle_win.cc:1048 Failed to read descriptor from node connection: A device attached to the system is not functioning. (0x1F)
[9556:21748:0627/083741.157:ERROR:device_event_log_impl.cc(214)] [08:37:41.156] USB: usb_device_handle_win.cc:1048 Failed to read descriptor from node connection: A device attached to the system is not functioning. (0x1F)
[9556:21748:0627/083741.157:ERROR:device_event_log_impl.cc(214)] [08:37:41.156] USB: usb_device_handle_win.cc:1048 Failed to read descriptor from node connection: A device attached to the system is not functioning. (0x1F)
Traceback (most recent call last):
  File "C:\[REDACTED]", line 27, in <module>
    search_box = driver.find_element_by_name('q')
AttributeError: 'WebDriver' object has no attribute 'find_element_by_name'
[21324:19948:0627/083937.892:ERROR:gpu_init.cc(486)] Passthrough is not supported, GL is disabled, ANGLE is

注意:我替换了这篇文章的文件路径。

我认为 DevTools 监听部分与该问题无关,但我想我会包括它,以防万一。

【问题讨论】:

    标签: python selenium google-chrome selenium-webdriver selenium-chromedriver


    【解决方案1】:

    Selenium 刚刚在版本 4.3.0 中删除了该方法。查看更改:https://github.com/SeleniumHQ/selenium/blob/a4995e2c096239b42c373f26498a6c9bb4f2b3e7/py/CHANGES

    Selenium 4.3.0
    * Deprecated find_element_by_* and find_elements_by_* are now removed (#10712)
    * Deprecated Opera support has been removed (#10630)
    * Fully upgraded from python 2x to 3.7 syntax and features (#10647)
    * Added a devtools version fallback mechanism to look for an older version when mismatch occurs (#10749)
    * Better support for co-operative multi inheritance by utilising super() throughout
    * Improved type hints throughout
    

    你现在需要使用:

    driver.find_element("name", "q")
    

    在您的示例中,它将变为:

    search_box = driver.find_element("name", "q")
    
    search_box.send_keys('ChromeDriver')
    
    search_box.submit()
    

    为了提高可靠性,您应该考虑将WebDriverWaitelement_to_be_clickable 结合使用。

    【讨论】:

      猜你喜欢
      • 2022-11-24
      • 1970-01-01
      • 2022-09-29
      • 2022-11-14
      • 2019-01-03
      • 2012-06-28
      • 2022-01-27
      • 2021-06-23
      相关资源
      最近更新 更多