我的selenium浏览器赢了';在Python中无法关闭
我正在尝试创建一个类,该类将具有逐个测试http代理的方法,直到我有一个可以添加到selenium webdriver实例的工作代理为止 我有一个原始输入来验证代理是否在webdriver中工作,如果它不工作,它应该测试另一个代理并请求我确认,然后关闭驱动程序或保持打开状态。(我删除了使用测试方法的if语句,因为我得到了一个错误) 当我在终端中输入“n”时,当我被要求确认时,它会关闭浏览器并使用另一个代理打开另一个浏览器,但当我第二次输入“n”时,浏览器保持打开状态我的selenium浏览器赢了';在Python中无法关闭,python,selenium,proxy,Python,Selenium,Proxy,我正在尝试创建一个类,该类将具有逐个测试http代理的方法,直到我有一个可以添加到selenium webdriver实例的工作代理为止 我有一个原始输入来验证代理是否在webdriver中工作,如果它不工作,它应该测试另一个代理并请求我确认,然后关闭驱动程序或保持打开状态。(我删除了使用测试方法的if语句,因为我得到了一个错误) 当我在终端中输入“n”时,当我被要求确认时,它会关闭浏览器并使用另一个代理打开另一个浏览器,但当我第二次输入“n”时,浏览器保持打开状态 class Driver:
class Driver:
def test(self):
try:
urllib.urlopen(
"https://www.google.com",
proxies={'http': proxy}
)
return True
except IOError:
print "Connection error! (Check proxy)"
else:
return False
def get_driver(self):
proxies = []
with open('working_proxies.txt', 'rb') as working_proxies:
for proxy in working_proxies:
proxy.rstrip()
proxies.append(proxy.decode('ascii'))
for i in proxies:
try:
myproxy = proxies.pop()
proxy = Proxy({
'proxyType': ProxyType.MANUAL,
'httpProxy': myproxy,
'ftpProxy': myproxy,
'sslProxy': myproxy,
'noProxy': '' # set this value as desired
})
driver = webdriver.Firefox(proxy=proxy)
is_working = raw_input('Is your proxy working? [y/n]: ')
if is_working == 'y' or is_working == 'Y':
return driver
if is_working == 'n' or is_working == 'N':
driver.close()
continue
if not is_working == 'y' or is_working == 'Y' or is_working == 'n' or is_working == 'N':
print 'Invallid'
except:
continue
driver = Driver()
driver = driver.get_driver()
driver.get("https://www.google.com")
您可以尝试
driver.quit()
而不是driver.close()
为什么不使用selenium和断言来标识工作代理,而不需要原始输入?