gpt4 book ai didi

python - 如何在 python 中正确关闭 Selenium WebDriver 实例?

转载 作者:太空宇宙 更新时间:2023-11-03 15:43:59 25 4
gpt4 key购买 nike

我正在编写一个脚本来检查代理是否正常工作。该计划应该:1. 从列表 (txt) 加载代理。2.转到任何页面(例如维基百科)3. 如果页面已加载(即使未完全加载),它会将代理数据保存到另一个 txt 文件。

它必须都在循环中。它还必须检查浏览器是否显示错误。我有一个问题,每次总是关闭以前的浏览器,在几个循环之后,几个浏览器已经打开了。

附言。我用随机数替换了迭代

from selenium import webdriver
import random
from configparser import ConfigParser
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
import traceback

while 1:
ini = ConfigParser()
ini.read('liczba_proxy.ini')

random.random()
liczba_losowa = random.randint(1, 999)

f = open('user-agents.txt')
lines = f.readlines()
user_agent = lines[liczba_losowa]
user_agent = str(user_agent)

s = open('proxy_list.txt')
proxy = s.readlines()

i = ini.getint('liczba', 'liczba')

prefs = {"profile.managed_default_content_settings.images": 2}
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--proxy-server=%s' % proxy[liczba_losowa])
chrome_options.add_argument(f'user-agent={user_agent}')
chrome_options.add_experimental_option("prefs", prefs)
driver = webdriver.Chrome(chrome_options=chrome_options, executable_path='C:\Python\Driver\chromedriver.exe')
driver.get('https://en.wikipedia.org/wiki/Replication_error_phenotype')

def error_catching():
print("error")
driver.stop_client()
traceback.print_stack()
traceback.print_exc()
return False


def presence_of_element(driver, timeout=5):
try:
w = WebDriverWait(driver, timeout)
w.until(EC.presence_of_element_located((By.ID, 'siteNotice')))
print('work')
driver.stop_client()
return True
except:
print('not working')
driver.stop_client()
error_catching()

最佳答案

不评论您的代码设计:

为了close a driver instance ,请使用 driver.close()driver.quit() 而不是您的 driver.stop_client()

第一个关闭设置焦点的浏览器窗口。第二个基本上关闭所有浏览器窗口并优雅地结束 WebDriver session 。

关于python - 如何在 python 中正确关闭 Selenium WebDriver 实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51154023/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com