selenium加载时间过长

本人py新手,在使用selenium尝试一些自动化操作时会遇到目标网页加载时间过长的问题,尝试过捕获TimeoutException来进行下一步操作,效果不错。但如果网页在Timeout前就完成加载的话except部分就不会执行。难道解决办法只有将同一代码片段重复?比如:

from selenium import webdriver
from selenium.common.exceptions import TimeoutException

driver = webdriver.Chrome()
driver.set_page_load_timeout(5)

try:
    driver.get('http://www.163.com')
    driver.find_element_by_name('example').click()  #是否有必要重复?
except TimeoutException:
    driver.find_element_by_name('example').click()   #目标操作

这样的话个人感觉比较臃肿,请问是否有更好办法?Thanks for any help!

阅读 7.6k
1 个回答

如果你想不管是否捕获到错误都执行,可以用finally

try:
    driver.get('http://www.163.com')
except Exception:
    pass
finally:
    driver.find_element_by_name('example').click()
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题