selenium设置无头浏览

背景

我们之前的selenium都是浏览驱动自动打开一个网页执行相关操作其实也可以让其后台显示,不用在前台显示

​ 要设置无头浏览器,可以使用Selenium的Headless模式。在Headless模式下,Selenium会在后台运行浏览器,而不会显示实际的浏览窗口

优点:

无头浏览器(Headless Browser)是指在没有图形用户界面(GUI)的情况下运行浏览器。它能够执行和显示网页,但不会显示实际的浏览器窗口

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
# 创建ChromeOptions对象
chrome_options = Options()
# 在ChromeOptions中设置无头模式
chrome_options.add_argument("--headless")
# 实例化Chrome浏览器对象,并将ChromeOptions对象传递给它
driver = webdriver.Chrome(options=chrome_options)
# 在无头浏览器中执行相关操作
driver.get("https://www.example.com")
# 进行其他操作...
# 关闭浏览器
driver.quit()

案例

实战案例一:

​ 要求:使用无头浏览器访问百度然后截个图保存本地

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import time

# 创建一个参数对象用来控制chrome以无界面模式打开
chrome_options = Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-gpu')
# 驱动路径
path = './chromedriver.exe'
# 创建浏览器对象
browser = webdriver.Chrome(executable_path=path,options=chrome_options)

# 上网
url = 'http://www.baidu.com/'
browser.get(url)
time.sleep(3)
# 截图 看个结果
browser.save_screenshot('baidu.png')

browser.quit()

在这里插入图片描述

实战案例二:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

# 驱动路径
path = r'D:Downloadsxxchromedriver-win64chromedriver.exe'

# 创建一个参数对象,用来控制Chrome以无界面模式打开
chrome_options = Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-gpu')

# 创建浏览器对象
browser = webdriver.Chrome(executable_path=path, options=chrome_options)

# 打开网页
url = 'http://www.baidu.com'
browser.get(url)

# 定位元素并执行操作
search_input = browser.find_element_by_id('kw')  # 根据ID定位搜索输入框
search_input.send_keys('Hello, World!')  # 在搜索输入框输入文本

search_button = browser.find_element_by_id('su')  # 根据ID定位搜索按钮
search_button.click()  # 点击搜索按钮

# 等待页面加载
browser.implicitly_wait(5)  # 隐式等待5秒钟

# 获取搜索结果
results = browser.find_elements_by_css_selector('.result')  # 根据CSS选择器定位搜索结果
for result in results:
    print(result.text)  # 打印搜索结果文本内容

# 关闭浏览器
browser.quit()

在这里插入图片描述

​ 首先创建了一个参数对象chrome_options,用来控制Chrome以无界面模式打开。然后使用webdriver.Chrome()方法创建了一个Chrome浏览器对象,并传入驱动路径和参数对象。接下来使用get()方法打开了百度网页然后使用find_element_by_*方法定位搜索输入框和搜索按钮,并执行了相应的操作。在搜索结果部分使用find_elements_by_css_selector()方法定位了所有的搜索结果,并通过循环打印每个搜索结果文本内容最后使用quit()方法关闭了浏览器。

温馨提示

仅供学习参考,请勿用于数据获取。本案例仅旨在展示数据获取技术应用原理,并提供学习参考。请注意,未经授权数据获取可能涉及法律和道德问题。在进行任何数据获取活动之前,请确保遵守相关法律法规和网站的规定。

原文地址:https://blog.csdn.net/ak_bingbing/article/details/134793522

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_39888.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注