
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等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)