错误:在我们连接之前,浏览器似乎已退出

2024-06-26 17:41:06 发布

您现在位置:Python中文网/ 问答频道 /正文

selenium-3.141.0,FF-68.0.2(64位),Python语言-3.7.3,geckodriver-0.24.0-win32

由于以下错误,我无法从selenium-python启动Firefox浏览器。你知道吗

我们还没来得及连接,浏览器就已经退出了

这似乎是许多人的共同问题,但没有一个以前的博客答案确实帮助我解决这个问题。因此提出了同样的问题。你知道吗

代码:-

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as ec
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
from selenium.webdriver.firefox.options import Options

driverlocation = "C:\\Users\\<<foo>>\\Downloads\\geckodriver-v0.24.0-win32\\geckodriver.exe"
binary = driverlocation
options = Options()
options.binary = binary
cap = DesiredCapabilities().FIREFOX
cap["marionette"] = False  # optional
driver = webdriver.Firefox(firefox_options=options, capabilities=cap, executable_path=driverlocation)
driver.maximize_window()
driver.get("https://google.com")
wait = WebDriverWait(driver, 10)
men_menu = wait.until(
    ec.visibility_of_element_located((By.XPATH, "//div[@class='FPdoLc VlcLAe']//input[@name='btnI']")))
ActionChains(driver).move_to_element(men_menu).click().perform()
driver.quit()

路径(环境):添加geckodriver所在的路径。你知道吗

错误:

C:/Users/<<foo>>/Automation/Python/Learning&Development/Testing/selenium/test.py:16: DeprecationWarning: use options instead of firefox_options
  driver = webdriver.Firefox(firefox_options=options, capabilities=cap, executable_path=driverlocation)
Traceback (most recent call last):
  File "C:/Users/<<foo>>/Automation/Python/Learning&Development/Testing/selenium/test.py", line 16, in <module>
    driver = webdriver.Firefox(firefox_options=options, capabilities=cap, executable_path=driverlocation)
  File "C:\Users\<<foo>>\AppData\Local\Programs\Python\Python37-32\lib\site-packages\selenium\webdriver\firefox\webdriver.py", line 191, in __init__
    self.binary, timeout)
  File "C:\Users\<<foo>>\AppData\Local\Programs\Python\Python37-32\lib\site-packages\selenium\webdriver\firefox\extension_connection.py", line 52, in __init__
    self.binary.launch_browser(self.profile, timeout=timeout)
  File "C:\Users\<<foo>>\AppData\Local\Programs\Python\Python37-32\lib\site-packages\selenium\webdriver\firefox\firefox_binary.py", line 73, in launch_browser
    self._wait_until_connectable(timeout=timeout)
  File "C:\Users\<<foo>>\AppData\Local\Programs\Python\Python37-32\lib\site-packages\selenium\webdriver\firefox\firefox_binary.py", line 104, in _wait_until_connectable
    "The browser appears to have exited "
selenium.common.exceptions.WebDriverException: Message: The browser appears to have exited before we could connect. If you specified a log_file in the FirefoxBinary constructor, check it for details.

有人能帮我解决这个问题需要做哪些修改吗?你知道吗


Tags: infrompyimportfoodriverseleniumfirefox