python - 如何关闭 Selenium 打开的所有窗口?

标签 python selenium selenium-rc

我现在正在使用 Selenium RC 做一些测试。而我使用的驱动是python。

但是现在,我遇到了一个问题,那就是:Selenium RC 每次运行,并打开一个 url,它会打开 2 个窗口,一个用于日志记录,另一个用于显示 HTML 内容。但我无法在脚本中全部关闭它们。

这是我的脚本:

#!/usr/bin/env python
#-*-coding:utf-8-*-
from selenium import selenium

def main():
    sel = selenium('localhost', 4444, '*firefox', 'http://www.sina.com.cn/')
    sel.start()
    try:
        sel.open('http://www.sina.com.cn/')
    except Exception, e:
        print e
    else:
        print sel.get_title()
    sel.close()
    sel.stop()

if __name__ == '__main__':
    main()

很容易理解。我真正想要的是关闭 Selenium 打开的所有窗口。我试过 close() 和 stop(),但它们都不起作用。

最佳答案

我有一个类似的情况,我的程序在抓取网页时打开了很多窗口。这是一个示例代码:

#!/usr/bin/python
import webbrowser
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.common.exceptions import NoSuchElementException

driver = webdriver.Firefox()
print "Browser fired-up!"
driver.get("https://www.something.com/")
driver.implicitly_wait(5)

while True:

    try:
        playlink = driver.find_element_by_xpath("/html/body/div[2]/div[1]/div/a")
        playlink.click()
        time.sleep(3)
    except NoSuchElementException: 
        print "playlink Element not found "
    else:
        backbutton = driver.find_element_by_id("back-to-bing-text")
        backbutton.click()

    try:
        quizlink = driver.find_element_by_xpath("/html/body/div[2]/div[1]/div[1]/ul/li[1]/a/span/span[1]")
        quizlink.click()
    except NoSuchElementException: 
        print "quiz1 Element not found "
    else:
        print "quiz1 clicked"

    driver.quit()   

“driver.close()”困扰了我一个星期,因为我相信它会关闭所有的窗口。 “driver.quit()”是终止所有进程并关闭所有窗口。

关于python - 如何关闭 Selenium 打开的所有窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3413144/

相关文章:

python - 如何打印出 Wo​​rdNet 同义词集的主要词条? Python NLTK

php - 如何从多个测试用例中执行测试用例的选择

java - 让 WebDriver 在没有 ExpectedCondition 的情况下等待

javascript - Webdriver.io - 很可能无法加载规范文件,因为它们依赖于 `browser` 对象

java - UnreachableBrowserException firefox 驱动程序 selenium java

firefox - Selenium in -browserSessionReuse 模式启动一个新的浏览器

java - 与 Java 驱动程序一起使用时,如何在 Selenium 中触发链接的单击事件?

python - Keras 和 Python 3.6 : Error when checking input for Sequential model

python - 子图与neo4j和py2neo的缓慢合并

python - 在 Python 中调试期间绘制函数