Python Selenium 抓取自定义元素时出现抓取错误

问题描述 投票:0回答:1

我正在尝试抓取自定义元素,但我做不到。我的代码适用于以前版本的 Selenium 和 Chrome,但更新后它停止工作。我可以获得整页 HTML,但我无法访问我想要的自定义元素。这是电子代码:

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


driver = webdriver.Chrome()
driver.get('https://w8shippingge.com/customer-zone/')


driver.find_element(By.NAME,'login').send_keys("password")

我得到错误:

DevTools listening on ws://127.0.0.1:51742/devtools/browser/eb5109e6-3d4f-4460-bf38-e94f621d2443
Traceback (most recent call last):
  File "c:/Users/Admin/Desktop/for test.py", line 9, in <module>
    driver.find_element(By.NAME,'login').send_keys("password")
  File "C:\Users\Admin\AppData\Local\Programs\Python\Python38\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 855, in find_element
    return self.execute(Command.FIND_ELEMENT, {
  File "C:\Users\Admin\AppData\Local\Programs\Python\Python38\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 428, in execute
    self.error_handler.check_response(response)
  File "C:\Users\Admin\AppData\Local\Programs\Python\Python38\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 243, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: Runtime.callFunctionOn threw exception: TypeError: JSON.stringify is not a function
    at buildError (<anonymous>:323:18)
  (Session info: chrome=113.0.5672.127)
Stacktrace:
Backtrace:
        GetHandleVerifier [0x00338893+48451]
        (No symbol) [0x002CB8A1]
        (No symbol) [0x001D5058]
        (No symbol) [0x001D8176]
        (No symbol) [0x001D9631]
        (No symbol) [0x001D96D0]
        (No symbol) [0x002000C0]
        (No symbol) [0x0020069B]
        (No symbol) [0x0022DD92]
        (No symbol) [0x0021A304]
        (No symbol) [0x0022C482]
        (No symbol) [0x0021A0B6]
        (No symbol) [0x001F7E08]
        (No symbol) [0x001F8F2D]
        GetHandleVerifier [0x00598E3A+2540266]
        GetHandleVerifier [0x005D8959+2801161]
        GetHandleVerifier [0x005D295C+2776588]
        GetHandleVerifier [0x003C2280+612144]
        (No symbol) [0x002D4F6C]
        (No symbol) [0x002D11D8]
        (No symbol) [0x002D12BB]
        (No symbol) [0x002C4857]
        BaseThreadInitThunk [0x76000419+25]
        RtlGetAppContainerNamedObjectPath [0x77C3662D+237]
        RtlGetAppContainerNamedObjectPath [0x77C365FD+189]

我试图添加 time.sleep() 但没有结果,我得到同样的错误。

python selenium-webdriver web-scraping selenium-chromedriver webdriver
1个回答
0
投票

如果您不具体使用

Chrome
,请尝试使用
Firefox
。它应该工作。

改变这个:

driver = webdriver.Chrome()

致:

driver = webdriver.Firefox()

在这个阶段,我不太确定

Chrome
问题的根本原因。

© www.soinside.com 2019 - 2024. All rights reserved.