我在 Selenium 中使用未检测到的 chromedriver,并且在 20 分钟到 5 小时后进行的每次测试中,chromedriver 都会因 WebDriverException 或 AttributeException 而崩溃。Chrome 然后说它意外地结束了。我能做些什么来确保不会发生这种情况?或者有没有办法自动重启?
我正在使用 while (True): 和 try: 对于我的所有代码,因此它应该重新启动以防发生异常并再次获取网站但它没有。它首先说 NoSuchElementException 然后说
“在处理上述异常的过程中,又出现了一个异常:WebDriverException: chrome not reachable。”
我正在使用 chrome 96.4556.110 和最新版本的未检测到的 chrome 驱动程序,并且尝试了很多但没有任何效果,但它一直在崩溃,我希望它 24/7 运行。
将非常感谢任何建议。
这是我的代码的开始
import undetected_chromedriver.v2 as uc
options = uc.ChromeOptions()
import nest_asyncio
nest_asyncio.apply()
import time
import random
from selenium.common.exceptions import NoSuchElementException
from selenium.common.exceptions import WebDriverException
from selenium.common.exceptions import NoSuchWindowException
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import Select
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
#Change Browser Options
options.page_load_strategy = 'eager'
options.add_argument("--window-size=1920,1080")
#options.add_argument('--proxy-server=176.9.75.42:1080')
options.add_argument('--user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 12_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36')
# another way to set profile is the below (which takes precedence if both variants are used
options.add_argument('--user-data-dir=c:\\temp\\profile6')
# just some options passing in to skip annoying popups
options.add_argument('--no-first-run --no-service-autorun --password-store=basic')
driver = uc.Chrome(options=options)