我有以下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()
答案 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()