我试图创建一个类,该类将有一个接一个地测试超文本传输协议代理的方法,直到我有一个工作的代理,我可以添加到一个selenium网络驱动程序实例中。
我有一个原始输入来验证代理是否在webdriver中工作,如果它不工作,它应该测试另一个代理并请求我确认,然后关闭驱动程序或保持打开状态。(我删除了使用测试方法的if语句,因为我得到了一个错误)
当我在终端中输入“n”时,当我被要求确认时,它会关闭浏览器并使用另一个代理打开另一个浏览器,但当我第二次输入“n”时,浏览器保持打开状态。
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")
您可以尝试驱动程序。退出()
而不是驱动程序。close()
每当我尝试时,它都会说Chrome意外关闭并要求重新打开。在python末尾,它给出了错误: 我的代码是: 更新:在详细模式下运行会产生以下结果:
我的代码: 例外情况 线程“main”java中出现异常。lang.IllegalStateException:驱动程序可执行文件不存在:C:\Users\sony\Downloads\chromedriver\U win32。在com.exe。谷歌。常见的基础先决条件。org上的checkState(premissions.java:534)。openqa。硒。遥远的服务司机服务。在org上检查
我正在尝试自动化与一个网站的一些互动。我正在使用Chropath查找各种元素的绝对XPath,然后在Selenium中与它们交互。但是,有一个按钮,selenium用“消息:stale element reference:element is not attached to the page document”来响应。如果我打开一个新的chrome浏览器并导航到该按钮,Chropath会显示一个有
我是Python新手,我试图在Debian中使用Selenium,但它不起作用,更具体地说,它似乎处于循环中,什么也没发生。下一个脚本是我使用的测试: 当我中断脚本时,会出现以下文本: 回溯(最近一次通话最后一次): 文件“prueba_parseo.py”,第7行,在browser=webdriver中。Firefox()文件“/usr/local/lib/python2.7/dist pack
我正在尝试在windows 8上启动带有selenium python的chromium浏览器。 添加了作为Chroum二进制位置,这是appdata。但ChromeDrive仍然开始使用谷歌chrome而不是Chrome。 如果我卸载google chrome,chromedriver默认启动chrome。但安装了chrome之后,它总是会发布chrome。 有人知道如何在安装铬时用硒启动铬吗?