进行页面跳转时,或打开网页时,遇到某一个资源找不到,页面一直处于加载中,python后续代码无法执行,
1. 通过Python win32api键按下ESC中断浏览器加载
具体参考selenium 自动化中断浏览器加载,加快自动化与运行速度这边文章, 相关链接: https://blog.csdn.net/qq_35741999/article/details/79434522
2. 通过设置限定页面加载限制时间
self.browser.set_page_load_timeout(5)
try:
self.browser.find_element_by_xpath('//*[@id="mainNew"]/div[1]/div[5]/div/div[3]/a').click()
except TimeoutException:
self.browser.execute_script('window.stop ? window.stop() : document.execCommand("Stop");')
3. 通过插件解决
你只需要给你的driver 装一个adblock,用的浏览 器是Chrome, 对应的插件在这里找
http://chrome-extension-downloader.com/1a7bd13c65e2890dd396cd65c079a7dd/Adblock-Plus.crx
具体用法:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chop = webdriver.ChromeOptions()
chop.add_extension('AdBlock_v3.10.0.crx')
driver = webdriver.Chrome(driver_path, chrome_options = chop)