我試圖關閉瀏覽器然后重新打開它而沒有出現任何錯誤。
我嘗試這樣做driver.close()然后webdriver.Chrome(executable_path=driver_path, options=option)重新打開它,但它會出現selenium.common.exceptions.InvalidSessionIdException: Message: invalid session id
如果您想知道我為什么要這樣做,我很想清除所有快取和 cookie。我想也許delete_all_cookies可能有用,但它沒有。
你應該能夠用這個重新創造一切:
import json
from selenium import webdriver
from contextlib import suppress
# \/\/ Webdriver & browser stuff \/\/
driver_path = ''
chrome_path = ''
option = webdriver.ChromeOptions()
option.binary_location = chrome_path
# option.add_argument("--headless")
option.add_argument("--disable-gpu")
option.add_experimental_option("excludeSwitches", ["enable-logging"])
with suppress(Exception): # Load prefrences file
with open('drivers/Preferences') as jsonFile:
pref = json.load(jsonFile)
option.add_experimental_option("prefs", pref)
driver = webdriver.Chrome(executable_path=driver_path, options=option)
# /\/\ Webdriver & browser stuff /\/\
# THE MAIN PORTION \/\/
driver.get("https://example.com/")
driver.close()
webdriver.Chrome(executable_path=driver_path, options=option) # this reopens it
driver.get("https://example.org")
# An error should come up after the above.
這是錯誤:
File "g:\pbl\question.py", line 24, in <module>
driver.get("https://example.org")
File "C:\Users\antho\AppData\Roaming\Python\Python310\site-packages\selenium\webdriver\remote\webdriver.py", line 333, in get
self.execute(Command.GET, {'url': url})
File "C:\Users\antho\AppData\Roaming\Python\Python310\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "C:\Users\antho\AppData\Roaming\Python\Python310\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.InvalidSessionIdException: Message: invalid session id
uj5u.com熱心網友回復:
您沒有將新的 webdriver 實體分配給driver變數。它仍然參考舊的關閉實體。
做
driver = webdriver.Chrome(executable_path=driver_path, options=option)一次。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/381784.html
