如何获取PhantomJS打开网页时加载的JS资源

如何获取PhantomJS打开网页时加载的JS资源,第1张

js并不能实现如此的功能。

因为js文件本身就是被加载进来的,所以当js文件未被加载的时候,它是无法对之前加载进来的文件参考代码

dcap = dict(DesiredCapabilitiesPHANTOMJS)

dcap["phantomjspagesettingsloadImages"] = False # 禁止加载,默认加载

dcap["phantomjspagesettingsresourceTimeout"] = 5000 # 超时时间,单位是 ms

if headers == None:

dcap["phantomjspagesettingsuserAgent"] = toolget_headers()

else:

dcap["phantomjspagesettingsuserAgent"] = headers

driver = webdriverPhantomJS(desired_capabilities=dcap)

driverget(url)

import pprint

pprintpprint(dir(driver))

try:

driverfind_element_by_css_selector('#mod_columns_tab')click()

except:

pass

if sellp_time:

timesleep(sellp_time)

html = driverpage_source

driverclose()

return html

正常情况下,你无法看到网页的逻辑关系,除非有源代码

你看到的网站仅仅是前台显示。一般是通过类似jsp,或者php,asp脚本以及后期的net程序结合数据库产生的,但反应到了客户端后,客户端看到的就是标准的html语句。

这和当前的百度是一样的,你发表留言肯定是通过后台CGI程序发布到数据库了,但是你如果在网页查看源码,就会发现,你的留言成了固定文字,这是表现层。

我建议你去找一些你熟悉的语言的商城源码,比如你喜欢或熟悉jsp,那么你就可以用apache+tomcat+jsdk,然后通过IE浏览器来查阅。

不知道这么说,你能否清楚,如有疑惑,请补充

唯一的workaround就是给webview里相关请求缩短timeout时间,等待timeout之后会调用代理方法didFinishLoading,这时候再插入js代码。

但不过这种方式不是非常完美的方法,会继续研发。

方法1

寻找页面中的xhr请求, 并得到实际的请求参数 直接获取相关搜索的请求返回代码, 然后进行数据整理

方法2

模拟浏览器 *** 作, 比如使用Selenium 模块

以上就是关于如何获取PhantomJS打开网页时加载的JS资源全部的内容,包括:如何获取PhantomJS打开网页时加载的JS资源、动态获取数据加载的网页,打开后右击另存为html后,数据会写死这是为啥、如何在UIWebView完成网页加载前获取DOM等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9302940.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-26
下一篇2023-04-26

发表评论

登录后才能评论

评论列表(0条)

    保存