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
# 处理抓取到的数据
相关推荐
硬禾科技1 小时前
连接世界的工程哲学
嵌入式硬件·测试工具·自动化·硬件工程
2501_916008893 小时前
全平台抓包工具,Windows、iPhone、Linux三个平台抓包测试
网络协议·计算机网络·网络安全·ios·adb·https·udp
szephyr5 小时前
Nginx 反向代理实战:从 502、跨域到 HTTPS,一次打通
运维·nginx·https·部署·反向代理
2501_915918416 小时前
怎么把 Python 写的 Flet 应用打包成 iOS App 并上架 App Store?
android·ios·小程序·https·uni-app·iphone·webview
wuhuhuan9 小时前
Case Generator 平台升级
python·测试工具·自动化
柒儿吖9 小时前
SSCom 重构全记录:用 Rust 把串口调试助手送上鸿蒙 PC、macOS、Windows和Linux
测试工具·rust·harmonyos
Anthony_23110 小时前
Nginx基础
服务器·nginx·http·https·edge浏览器·web
天天喝旺仔11 小时前
深入理解 JWT:从 Token 结构、签名机制到前后端鉴权实战
redis·安全·spring·微服务·https
AngusKit12 小时前
AngusTester 与 Postman、MeterSphere:私有化统一测试怎么选
测试工具·jmeter·压力测试·metersphere·web测试·移动端测试
蒲公英内测分发21 小时前
App 更新一次就换一个二维码?智能硬件配套 App 的版本和下载入口怎么管理
人工智能·测试工具·智能家居·智能硬件