gpt4 book ai didi

python - 如何使用python和selenium列出网站加载的所有js文件

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

作为常规配置管理检查的一部分,我正在尝试检查网站上的特定 .js 文件和图像文件。我正在使用 python 和 selenium。我的代码是:

#!/usr/bin/env python

#import modules required for the test to run
import time
from pyvirtualdisplay import Display
from selenium import webdriver
from selenium.webdriver.common.by import By

#Start headless browser
web = Display(visible=0, size=(1024, 768))
web.start()
browser = webdriver.PhantomJS()
browser.set_window_size(1024,768)
#Navigate to the current URL
browser.get("https://XXXXXXXX")
time.sleep(2)

page = browser.find_elements(By.TAG_NAME, 'script')

for i in page:
print(i)
for j in page:
print(j.text)

browser.quit()
web.stop

返回的数组包含类似

的条目
selenium.webdriver.remote.webelement.WebElement (session="238c4f20-f995-11e6-9445-570b2cf065ee", element=":wdc:1487832970059")>

当我尝试打印数组条目时得到的结果。我假设这些是我找到的脚本标记引用的文件。我无法以任何方式访问它们来检查文件名或路径是否正确。

关于如何做到这一点有什么建议吗?

谢谢鲁迪

最佳答案

您需要使用

for i in page:
print(i.get_attribute('src'))

这应该打印 JavaScript文件名如 https://www.google-analytics.com/analytics.js

您还应该注意一些 <script>标签可以只包含 JavaScript代码,但不引用远程文件。如果您想获得此代码,您需要 i.get_attribute('textContent')

更新

如果你想从iframe获取脚本另外,请尝试:

for frame in browser.find_elements_by_tag_name('iframe'):
browser.switch_to.frame(frame)
for i in browser.find_elements(By.TAG_NAME, 'script'):
print(i.get_attribute('src'))
browser.switch_to.default_content()

关于python - 如何使用python和selenium列出网站加载的所有js文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42409365/

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