这是我的代码:
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)
是的,这是我为朋友制作的一个谜语机器人,忽略所有文件夹名称
所以我很好奇,删除了fo
、fp
和firefox_capabilities
变量,只使用driver_path变量运行驱动程序,它就运行了
但是我想加载配置文件,因为我总是要用手机扫描代码才能让whatsapp web运行,想象一下,每当我测试时,我都要一次又一次地扫描
简而言之,我想知道为什么会发生这种情况(比如它是selenium中的一个bug还是其他什么),有没有解决方法
尝试将服务参数传递给webdriver。Firefox:
解决方案如下: https://github.com/mozilla/geckodriver/issues/1559#issuecomment-859497150
相关问题 更多 >
编程相关推荐