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
# 处理抓取到的数据
相关推荐
2501_915106325 小时前
TraceEagle 代理抓包教程 本机和手机的 HTTPS 抓包方法
网络协议·计算机网络·网络安全·ios·adb·https·udp
Saniffer_SH7 小时前
NAND技术(二):从 Channel、Die/LUN、P/E Cycle 到 LDPC,一次讲透 NAND 里那些最容易误解的概念
人工智能·驱动开发·嵌入式硬件·测试工具·fpga开发·计算机外设·压力测试
杭州双色云谱12 小时前
2026年蓝光光谱照度计选购与实战指南:双色云谱如何守护光环境安全?
科技·测试工具
TlSfoward13 小时前
TLSFOWARD抓包工具 TLS指纹
网络协议·http·百度·https
一孤程15 小时前
AI辅助测试用例生成实战——用大模型把测试设计效率提升300%
人工智能·测试工具·ai·aigc·测试用例·测试·测试覆盖率
测试员周周1 天前
【skills5】一份 spec 生成 k6/JMeter/Locust:性能压测 + 全站截图,上线前的双保险
功能测试·网络协议·测试工具·jmeter·http·自动化·集成测试
蝶恋舞者2 天前
Wireshark 抓包工具
网络·测试工具·wireshark
天才测试猿2 天前
如何封装自动化测试框架?
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
2501_916007472 天前
抓包工具对比 Charles、Fiddler、TraceEagle、Wireshark 与 Proxyman
前端·网络协议·ios·adb·https·fiddler·wireshark