Selenium框架添加CONNECT以抓取https网站

Selenium框架

Selenium是一个用于Web应用程序测试的强大工具,它提供了一系列的API,可以模拟用户在浏览器中的操作,包括点击、填写表单、导航等。在进行网络提取数据时,https网站的数据提取一直是一个技术难点。Selenium作为一个自动化测试工具,也可以用于数据提取,但默认情况下并不支持https网站的数据提取。本文将介绍如何配置Selenium项目以添加CONNECT支持,从而实现https网站的数据摘要。

HTTPS问题

首先,让我们了解一下为什么在抽取HTTPS网站时会遇到问题。HTTPS是一种通过了解传输层安全协议(TLS)进行加密的HTTP通信协议。这意味着网站使用SSL证书对通信进行加密,以确保数据的安全性和缺陷。然而,这也意味着在使用Selenium时,需要我们确保它能够正确处理这种加密连接。

为了解决这个问题,我们可以使用Selenium的Desired Capability来添加CONNECT选项。Desired Capability是一个键值对,用于配置Selenium WebDriver实例的行为。通过设置CONNECT选项,我们可以告诉Selenium建立安全连接的方式。

如何在Selenium中添加CONNECT支持?

现在让我们来讨论如何在Selenium中添加CONNECT支持。为了实现这个功能,我们可以使用Selenium的Desired Capability来配置代理服务器,并通过代理服务器来建立连接。以下是一个示例代码,演示了如何在Selenium中添加CONNECT支持:

复制代码
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

# 设置代理服务器信息
proxyHost = "www.16yun.cn"
proxyPort = "5445"
proxyUser = "16QMSOML"
proxyPass = "280651"

# 创建代理对象
proxy = f"{proxyUser}:{proxyPass}@{proxyHost}:{proxyPort}"
capabilities = DesiredCapabilities.CHROME
capabilities['proxy'] = {
    "httpProxy": proxy,
    "ftpProxy": proxy,
    "sslProxy": proxy,
    "proxyType": "MANUAL",
}

# 添加CONNECT支持
capabilities['acceptSslCerts'] = True

# 启动浏览器
driver = webdriver.Chrome(desired_capabilities=capabilities)

# 访问https网站
driver.get("https://example.com")

# 进行其他操作
# ...

# 关闭浏览器
driver.quit()
实现https网站的

现在,您可以使用Selenium来访问https网站并进行数据摘要了

复制代码
proxy.new_har("example", options={'captureHeaders': True, 'captureContent': True})
driver.get("https://example.com")
result = proxy.har
# 处理抓取到的数据
相关推荐
123过去1 小时前
wifi-honey使用教程
linux·网络·测试工具
zjjsctcdl9 小时前
springBoot发布https服务及调用
spring boot·后端·https
123过去9 小时前
pixiewps使用教程
linux·网络·测试工具·算法·哈希算法
孤影过客10 小时前
互联网谍战:HTTPS如何守护数据,以及头顶的量子阴云
网络协议·http·https
测试老哥11 小时前
Web自动化测试:Cypress 测试框架概述
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
123过去12 小时前
reaver使用教程
linux·网络·测试工具·智能路由器
llilian_1612 小时前
卫星时钟 时钟同步解决方案——基于高精度卫星时钟同步授时装置 卫星同步时钟 授时同步装置
功能测试·单片机·测试工具
1024小神16 小时前
阿里云买了域名后自动配置SSL个人测试证书实现https
阿里云·https·ssl
明天…ling16 小时前
Redhat 10 部署Nginx实现多IP/多端口/HTTPS访问(避坑实操+问题全解决)
tcp/ip·nginx·https
2501_9159214317 小时前
2026 iOS 上架新趋势 iOS 发布流程模块化
android·ios·小程序·https·uni-app·iphone·webview