Python使用Selenium包谷歌无头浏览器进行完整长截图 |
您所在的位置:网站首页 › 原神登录页面截屏图片 › Python使用Selenium包谷歌无头浏览器进行完整长截图 |
写在前面 想很简单,做很难,坚持更难,克服惰性。每天学一点,不会的就少一点。 养成习惯很重要,先从点赞开始吧!关注[程序员之道],前行道路不再迷茫! 不知道你有没有碰到过在开发过程中需要爬取网页,或者截取网页内容。这时候我们的selenium就要大显身手了! 准备工作什么是无头浏览器呢,就是没有用户图形界面的Web浏览器,可以方便的通过程序进行控制或模拟用户的网页访问行为。这不就是天然为自动化测试准备的嘛。 下载无头浏览器驱动下载链接 可以根据自己的Chrome版本选择合适的无头浏览器驱动版本。一般来说,版本相近即可。 比如我的Chrome版本: 将下载的驱动存储到自己的目录,比如/Users/Desktop/soft/chromedriver 代码实现代码实现的主要逻辑非常简单。 设置无头浏览器驱动路径及参数。获取网页内容。执行script脚本,设置最大宽度及高度(如果没有此步骤,截图只是一部分)。保存图片。具体代码实现: from selenium import webdriver from selenium.webdriver.chrome.options import Options chrome_options = Options() chrome_options.add_argument('--headless') chrome_options.add_argument('--disable-gpu') path = r'/Users/Desktop/soft/chromedriver' def download(url, pngName): # 设置chrome驱动的路径及参数 browser = webdriver.Chrome(executable_path=path,chrome_options=chrome_options) # 获取网页内容 browser.get(url) # 通过执行脚本,设置滚动条到最大宽度及最大高度 width = browser.execute_script("return document.documentElement.scrollWidth") height = browser.execute_script("return document.documentElement.scrollHeight") browser.set_window_size(width, height) # 是否需要超时等待 # time.sleep(10) # 保存的截图名字 browser.save_screenshot(pngName) browser.quit() if __name__ == '__main__': url = 'https://www.w3school.com.cn/' pngPath = '/Users/Desktop/PycharmProjects/python-learn/image/' pngName = pngPath + "w3school.png" download(url, pngName) 截图效果 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |