沁县网站建设,网站开发和系统开发的区别,建筑论坛网,wordpress wp rest apiselenium设置无头浏览器
背景
我们之前的selenium都是浏览器驱动自动打开一个网页#xff0c;执行相关操作#xff0c;其实也可以让其后台显示#xff0c;不用在前台显示。
要设置无头浏览器#xff0c;可以使用Selenium的Headless模式。在Headless模式下#xf…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(optionschrome_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_pathpath,optionschrome_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 rD:\Downloads\xx\chromedriver-win64\chromedriver.exe# 创建一个参数对象用来控制Chrome以无界面模式打开
chrome_options Options()
chrome_options.add_argument(--headless)
chrome_options.add_argument(--disable-gpu)# 创建浏览器对象
browser webdriver.Chrome(executable_pathpath, optionschrome_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()方法关闭了浏览器。
温馨提示
仅供学习参考请勿用于数据获取。本案例仅旨在展示数据获取技术的应用和原理并提供学习参考。请注意未经授权的数据获取可能涉及法律和道德问题。在进行任何数据获取活动之前请确保遵守相关法律法规和网站的规定。