【问题标题】:Message: default backend - 404 (selenium - python)消息:默认后端 - 404 (selenium - python)
【发布时间】:2022-01-27 02:42:17
【问题描述】:

我正在尝试通过 webdriver.Remote() 启动一个 selenium 应用程序(使用 python),就像他们推荐的 on documentation 一样,但是当我运行下面的代码时,我收到以下错误消息:

selenium.common.exceptions.WebDriverException: Message: default backend - 404

我的代码在这里:

from selenium import webdriver

chrome_options = webdriver.ChromeOptions()
chrome_options.set_capability("platformName", "LINUX")
chrome_options.set_capability("browserName", "chrome")

chrome_options.add_argument('--headless')
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--disable-dev-shm-usage')

prefs = {"download.default_directory": 'downloads'}
chrome_options.add_experimental_option("prefs", prefs)

driver = webdriver.Remote(
    command_executor='http://127.0.0.1:4444/wd/hub',
    desired_capabilities=chrome_options.to_capabilities()
)

driver.get("http://www.google.com")
search_box = driver.find_element_by_name('q')
search_box.send_keys('stackoverflow')
search_box.submit()
driver.quit()

我已经尝试删除选项并仅使用推荐的代码,如下所示,但我遇到了同样的问题。

from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

driver = webdriver.Remote(
    command_executor='http://127.0.0.1:4444/wd/hub',
    desired_capabilities=DesiredCapabilities.CHROME
)

driver.get("http://www.google.com")
search_box = driver.find_element_by_name('q')
search_box.send_keys('stackoverflow')
search_box.submit()
driver.quit()

【问题讨论】:

    标签: python python-3.x selenium selenium-webdriver


    【解决方案1】:

    我找到了问题的解决方案,它与command_executor 有关。每当您需要声明此参数时,请不要在地址前加上httphttps。所以正确的代码是:

    from selenium import webdriver
    
    chrome_options = webdriver.ChromeOptions()
    chrome_options.set_capability("platformName", "LINUX")
    chrome_options.set_capability("browserName", "chrome")
    
    chrome_options.add_argument('--headless')
    chrome_options.add_argument('--no-sandbox')
    chrome_options.add_argument('--disable-dev-shm-usage')
    
    prefs = {"download.default_directory": 'downloads'}
    chrome_options.add_experimental_option("prefs", prefs)
    
    driver = webdriver.Remote(
        command_executor='127.0.0.1:4444/wd/hub',
        desired_capabilities=chrome_options.to_capabilities()
    )
    
    driver.get("http://www.google.com")
    search_box = driver.find_element_by_name('q')
    search_box.send_keys('stackoverflow')
    search_box.submit()
    driver.quit()
    

    或者更简单的代码:

    from selenium import webdriver
    from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
    
    driver = webdriver.Remote(
        command_executor='127.0.0.1:4444/wd/hub',
        desired_capabilities=DesiredCapabilities.CHROME
    )
    
    driver.get("http://www.google.com")
    search_box = driver.find_element_by_name('q')
    search_box.send_keys('stackoverflow')
    search_box.submit()
    driver.quit()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-01-04
      • 1970-01-01
      • 2017-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-19
      相关资源
      最近更新 更多