超时后无法关闭远程驱动程序中的浏览器

时间:2015-10-28 11:21:04

标签: python selenium selenium-webdriver

我有以下selenium远程驱动程序代码,当找不到元素时,抛出错误但浏览器没有关闭。可能是什么原因以及如何解决它?

driver = webdriver.Remote("http://localhost:4444/wd/hub", webdriver.DesiredCapabilities.FIREFOX.copy())
driver.implicitly_wait(10)
driver.set_page_load_timeout(10)
driver.maximize_window()

driver.get("http://www.google.com")
print driver.title

driver.find_element(By.ID, "unknownElement")

driver.quit()

1 个答案:

答案 0 :(得分:0)

使用try-except块 - 这样你就可以捕获异常并继续在程序流程中继续:

try:
  driver.find_element(By.ID, "unknownElement")
except:
  // do something like logging?

driver.quit()

或者只是使用另一种方法使用find_elements - 这样,如果没有找到任何元素,你就什么也不做:

elements = driver.find_elements(By.ID, "unknownElement")

if elements:
  # do something with your element via elements[0]
else:
  # do whatever you want when no element is found

driver.quit()