美文网首页
使用selenium保存完整网页

使用selenium保存完整网页

作者: yuyingxiang | 来源:发表于2019-03-07 11:30 被阅读0次

    使用selenium保存完整网页

    Chrome浏览器在保存网页时可以使用mhtml格式,保存单页面网页,可以直接将整个页面最大化的保持原样,包括图片、js、css保存为单页面。默认是这个选项是关闭的,需要在chrome://flags中将其打开。selenium可以化处理浏览器各类操作,但是保存网页时的弹窗是windows弹窗,selenium无法操作,需要使用pywin32来解决。具体方式如下:

    打开mhtml格式支持:

        options = webdriver.ChromeOptions()
    
        options.add_argument('--save-page-as-mhtml')
        driver = webdriver.Chrome(chrome_options=options)
    

    按下ctrl+s

        win32api.keybd_event(17, 0, 0, 0)  # 按下ctrl
        win32api.keybd_event(83, 0, 0, 0)  # 按下s
        win32api.keybd_event(83, 0, win32con.KEYEVENTF_KEYUP, 0)  # 释放s
        win32api.keybd_event(17, 0, win32con.KEYEVENTF_KEYUP, 0)  # 释放ctrl
    

    获取另存为窗口windows句柄并激活,输入enter保存。

        hd = win32gui.FindWindow(u"#32770", u"另存为")
        win32gui.SetForegroundWindow(hd)
        sleep(0.2)
    
        win32api.keybd_event(13, 0, 0, 0)  # 按下enter
        win32api.keybd_event(13, 0, win32con.KEYEVENTF_KEYUP, 0)  # 释放enter
    
    

    win10 64位在是这个类,其他系统可以尝试后修改,也可以定位下文件名输出框键入文件名,然后定位保存按钮触发保存,不过我对win32api不熟悉,所以没有这么操作,直接激活窗口之后发送enter键保存,然后重命名。

    相关文章

      网友评论

          本文标题:使用selenium保存完整网页

          本文链接:https://www.haomeiwen.com/subject/mvxcpqtx.html