在selenium python中运行firefox配置文件不起作用

2024-07-04 05:50:12 发布

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

这是我的代码:

from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
from selenium.webdriver.firefox.options import Options

print("Openning Browser")
fp = webdriver.FirefoxProfile("C:/Users/myname/AppData/Roaming/Mozilla/Firefox/Profiles/qljcimja.whatsapp_riddle_bot")
fo = Options()
fo.add_argument("-profile")
fo.add_argument("C:/Users/myname/AppData/Roaming/Mozilla/Firefox/Profiles/qljcimja.whatsapp_riddle_bot")
firefox_capabilities = DesiredCapabilities.FIREFOX
firefox_capabilities['marionette'] = True
main_win = webdriver.Firefox(fp, executable_path='C:/Drivers/geckodriver-v0.29.1-win64/geckodriver.exe', capabilities=firefox_capabilities, firefox_options=fo)
print("Done Openning Browser\nStarting Website")
main_win.get('https://web.whatsapp.com')
...

这里面有很多代码,但我确信错误来自上面的代码块。因此,当我运行代码时,它会像往常一样在终端中打印Openning Browser,但在窗口打开后,它仍然无法打开url,在等待了大约30秒后,它会弹出一个错误,如下所示

(.venv) PS E:\Nayan,s file\PythonProjects\whatsapp riddle bot> python launcher.py
Openning Browser
Traceback (most recent call last):
  File "E:\Nayan,s file\PythonProjects\whatsapp riddle bot\launcher.py", line 3, in <module>
    main.main()
  File "E:\Nayan,s file\PythonProjects\whatsapp riddle bot\main.py", line 75, in main
    main_win = webdriver.Firefox(fp, executable_path='C:/Drivers/geckodriver-v0.29.1-win64/geckodriver.exe', capabilities=firefox_capabilities, firefox_options=fo)
  File "E:\Nayan,s file\PythonProjects\whatsapp riddle bot\.venv\lib\site-packages\selenium\webdriver\firefox\webdriver.py", line 170, in __init__        
    RemoteWebDriver.__init__(
  File "E:\Nayan,s file\PythonProjects\whatsapp riddle bot\.venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 157, in __init__
    self.start_session(capabilities, browser_profile)
  File "E:\Nayan,s file\PythonProjects\whatsapp riddle bot\.venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 252, in start_session    
    response = self.execute(Command.NEW_SESSION, parameters)
  File "E:\Nayan,s file\PythonProjects\whatsapp riddle bot\.venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "E:\Nayan,s file\PythonProjects\whatsapp riddle bot\.venv\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.TimeoutException: Message: No connection could be made because the target machine actively refused it. (os error 10061)

是的,这是我为朋友制作的一个谜语机器人,忽略所有文件夹名称

所以我很好奇,删除了fofpfirefox_capabilities变量,只使用driver_path变量运行驱动程序,它就运行了

但是我想加载配置文件,因为我总是要用手机扫描代码才能让whatsapp web运行,想象一下,每当我测试时,我都要一次又一次地扫描

简而言之,我想知道为什么会发生这种情况(比如它是selenium中的一个bug还是其他什么),有没有解决方法


Tags: inpymainbotseleniumlinefirefoxfile

热门问题