嘿伙计们,我现在正在使用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()
这很容易理解。我真正想要的是关闭所有硒打开的窗户。我试过close()和stop(),但它们都不起作用。
答案 0 :(得分:7)
我有类似的情况,我的程序在抓取网页时打开了很多窗口。这是一个示例代码:
#!/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()"是终止所有进程并关闭所有窗口。
答案 1 :(得分:1)
我已经解决了这个问题。 它发生是因为我安装了firefox-bin而不是firefox。 现在我已经删除了firefox-bin并安装了firefox,现在可以使用了。 stop()将关闭selenium打开的所有窗口。
感谢您的提醒AutomatedTester
答案 2 :(得分:0)
我可能会建议使用python创建一个系统命令来关闭firefox窗口
BUSSIERE