selenium中关于停止加载的几种方法

进行页面跳转时,或打开网页时,遇到某一个资源找不到,页面一直处于加载中,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)

详情参考: https://www.zhihu.com/question/52042826

猜你喜欢

转载自blog.csdn.net/supramolecular/article/details/82386564
今日推荐