gpt4 book ai didi

python - Selenium Python - 获取所有已加载 URL 的列表(图像、脚本、样式表等)

转载 作者:太空宇宙 更新时间:2023-11-03 11:16:33 25 4
gpt4 key购买 nike

当谷歌浏览器通过 Selenium 加载网页时,它可能会加载页面所需的其他文件,例如来自 <img src="example.com/a.png"><script src="example.com/a.js">标签。此外,还有 CSS 文件。

如何获取浏览器加载页面时下载的所有 URL 的列表? (以编程方式,在 Python 中使用 Selenium 和 chromedriver)也就是说,Chrome 中开发者工具的“网络”选项卡中显示的文件列表(显示已下载文件的列表)。

使用 Selenium、chromedriver 的示例代码:

from selenium import webdriver
options = webdriver.ChromeOptions()
options.binary_location = "/usr/bin/x-www-browser"
driver = webdriver.Chrome("./chromedriver", chrome_options=options)
# Load some page
driver.get("https://example.com")
# Now, how do I see a list of downloaded URLs that took place when loading the page above?

最佳答案

您可能想看看 BrowserMob Proxy。它可以捕获网络应用程序的性能数据(通过 HAR 格式),以及操纵浏览器行为和流量,例如将内容列入白名单和黑名单、模拟网络流量和延迟以及重写 HTTP 请求和响应。

取自 readthedocs,使用简单,与 selenium webdriver api 集成良好。您可以阅读有关 BMP 的更多信息 here .

from browsermobproxy import Server
server = Server("path/to/browsermob-proxy")
server.start()
proxy = server.create_proxy()

from selenium import webdriver
profile = webdriver.FirefoxProfile()
profile.set_proxy(proxy.selenium_proxy())
driver = webdriver.Firefox(firefox_profile=profile)


proxy.new_har("google")
driver.get("http://www.google.co.uk")
proxy.har # returns a HAR JSON blob

server.stop()
driver.quit()

关于python - Selenium Python - 获取所有已加载 URL 的列表(图像、脚本、样式表等),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50679032/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com