当前位置: 首页 > 知识库问答 >
问题:

我的selenium浏览器在Python中无法关闭

呼延辰龙
2023-03-14

我试图创建一个类,该类将有一个接一个地测试超文本传输协议代理的方法,直到我有一个工作的代理,我可以添加到一个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")

共有1个答案

应安国
2023-03-14

您可以尝试驱动程序。退出()而不是驱动程序。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。 有人知道如何在安装铬时用硒启动铬吗?