首先,确保你已经安装了Selenium库。如果尚未安装,可以通过以下命令进行安装:
pip install selenium
此外,你还需要下载与浏览器版本匹配的浏览器驱动。例如,如果你使用的是Chrome浏览器,可以下载ChromeDriver。将下载的驱动文件路径添加到系统环境变量中,或者在代码中显式指定路径。
以下是完整的Python代码示例:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service
import time
chrome_options = Options()
plugins_path = "/Users/usernmae/Desktop/json.la/4.11.1_0.crx"
chrome_options.add_extension(plugins_path) # 添加插件
chrome_options.add_experimental_option("detach", True) # 浏览器窗口在脚本运行完后保持打开
chrome_options.page_load_strategy = 'none' # 不等待页面完全加载
chrome_options.add_argument("--headless") # 无界面模式
chrome_options.add_argument(
"--user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36")
driver_path = '/usr/local/bin/chromedriver' # 指定ChromeDriver的路径
service = Service(executable_path=driver_path) # 初始化Service对象
driver = webdriver.Chrome(service=service, options=chrome_options)
driver.maximize_window()
time.sleep(2) # 等待插件加载完毕
# 打开网页
url = "https://sohu.mt0668.com"
driver.get(url)
# 防止页面加载不完全(具体可根据需要调整等待时间)
time.sleep(4)
# 获取网页快照并保存为图片
driver.save_screenshot("test.png")
# 关闭浏览器
driver.quit()
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
plugins_path = "/Users/usernmae/Desktop/mt0668.com/4.11.1_0.crx"
chrome_options.add_extension(plugins_path) # 添加插件
"""
示例说明
https://iqiyi.zc100.com.cn
https://zhihu.mt0668.com
https://qlive.mt0668.com
https://cctv.desh-software.com
https://mip.desh-software.com
"""
如以上代码我添加了广告屏蔽插件,添加广告屏蔽插件是为了屏蔽网页中一些乱七八糟的广告
,具体插件可根据个人需求添加。
设置浏览器窗口最大化
driver.maximize_window()
当然也可以设置具体宽高,代码如下:
driver.set_window_size(1200, 800) # 设置窗口大小为1200x800像素
如果你不需要看到浏览器界面,可以使用无头模式(Headless Mode)来运行浏览器,这样可以节省资源并提高效率:
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument('--headless') # 启用无头模式
driver = webdriver.Chrome(service=service, options=options)
注意:部分站点可能无头模式,可能无法正常获取网页快照,需自己设置浏览器的UA
通过Python和Selenium,我们可以轻松实现网页快照的获取。无论是简单的静态网页还是复杂的动态网页,Selenium都能胜任。本文提供的代码示例和技巧可以帮助你快速上手,并根据实际需求进行扩展。如果你对自动化Web操作感兴趣,Selenium无疑是一个值得深入学习的工具。注意:本次教程基于MacOS系统实现,Windows系统可根据自己的具体路径实现。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。