欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 维修 > 【爬虫】selenium打开浏览器以及页面

【爬虫】selenium打开浏览器以及页面

2025/4/23 9:16:13 来源:https://blog.csdn.net/steamedobun/article/details/144353382  浏览:    关键词:【爬虫】selenium打开浏览器以及页面

本篇探讨如何使用 selenium 打开浏览器

selenium 基础与网页打开

selenium 是一个广泛应用于自动化测试和网页抓取的工具,它能够模拟用户在浏览器中的各种操作。首先,我们需要根据指定的浏览器类型(这里以 Chrome 为例)打开网页。以下是相关代码示例:

from selenium import webdriverdef web_create(self, web_type, value):"""打开网页:param web_type: 浏览器类型:param value: 网页地址:return: 网页对象"""if web_type.lower() == "chrome":# 设置Chrome选项,包括隐藏Selenium特征、设置代理IP和排除或关闭一些Selenium相关开关# 参考:https://blog.csdn.net/XianZhe_/article/details/120929106options = webdriver.ChromeOptions()options.add_experimental_option('excludeSwitches', ['enable-automation'])options.add_argument('--disable-blink-features=AutomationControlled')options.add_argument('--disable-extensions')# options.add_argument('--disable-gpu')# options.add_argument('--disable-infobars')options.add_argument('--disable-notifications')# options.add_argument('--disable-popup-blocking')# options.add_argument('--disable-web-security')# options.add_argument('--ignore-certificate-errors')# options.add_argument('--no-sandbox')# 最大化窗口options.add_argument('--start-maximized')# 无痕浏览模式options.add_argument('--incognito')# options.add_argument('--user-data-dir=/dev/null')# options.add_argument('--proxy-server={}'.format(proxy_address + ':' + proxy_port))# options.add_argument('--proxy-auth={}:{}'.format(proxy_username, proxy_password))# options.add_experimental_option('excludeSwitches', ['enable-automation', 'useAutomationExtension'])driver = webdriver.Chrome(options=options)  # 创建Chrome浏览器驱动实例# 隐藏navigator.webdriver标志,将其值修改为false或undefineddriver.execute_cdp_cmd('Page.addScriptToEvaluateOnNewDocument', {'source': 'Object.defineProperty(navigator, "webdriver", {get: () => undefined})'})# 设置user-agent,改变user-agent的值user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"driver.execute_cdp_cmd("Network.setUserAgentOverride", {"userAgent": user_agent})driver.get(value)  # 打开指定的网页地址return driverelse:raise ValueError("目前只支持chrome类型的浏览器")

在上述代码中,我们创建了 web_create 函数。它首先判断浏览器类型是否为 chrome,如果是,则创建 Chrome 浏览器驱动实例。接着,通过执行 CDP 命令来隐藏 navigator.webdriver 标志,修改 user-agent,以此来规避一些网站对 selenium 的检测。最后,打开指定的网页地址并最大化窗口,返回浏览器驱动对象,以便后续操作。

所有打开浏览器参数参考:

List of Chromium Command Line Switches « Peter Beverloo

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词