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
# 处理抓取到的数据
相关推荐
可可南木3 小时前
3070文件格式--6--board文件格式详解 6
功能测试·测试工具·pcb工艺
程序员雷叔8 小时前
在postman设置请求里带动态token,看看这两种方法!
selenium·测试工具·单元测试·测试用例·pytest·lua·postman
Hacker_xingchen8 小时前
如何用Postman做接口自动化测试及完美的可视化报告?
自动化测试·软件测试·测试工具·职场和发展·postman
AI软件工程实践8 小时前
软件工程里 Postman 的文件上传与下载测试技巧
测试工具·ai·lua·postman
恃宠而骄的佩奇11 小时前
APP客户端安全评估思路及工具分享
测试工具·安全·网络安全·app客户端安全评估
2501_9160088911 小时前
iOS开发APP上架全流程解析:从开发到App Store的完整指南
android·ios·小程序·https·uni-app·iphone·webview
Wpa.wk1 天前
性能测试 - 搭建线上的性能测试环境参考逻辑图
java·经验分享·测试工具·jmeter·性能测试
Arwen3031 天前
IP地址证书的常见问题有哪些?有没有特殊渠道可以申请免费IP证书?
服务器·网络·网络协议·tcp/ip·http·https
@汤圆酱1 天前
Jmeter如何实现接口关联?
测试工具·jmeter
测试秃头怪1 天前
Python测试框架Pytest的参数化
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·pytest