在页面源 - Phantomjs中注入脚本文件

时间:2018-03-26 19:04:12

标签: javascript jquery asp.net phantomjs

HTML页面的脚本如下:

<script src="/_res/js/jquery.js" type="text/javascript"></script>
<script src="/WebResource.axd?d=5At4BVuSsWGYDY9lb87tCvy" type="text/javascript"></script>

onResourceRecevied函数上,我可以看到上面的脚本已成功下载。 然后我将它们注入page

page.injectJs('/_res/js/jquery.js').then(async function(res) {
          console.log("injectJs")
        page.injectJs('/WebResource.axd?d=5At4BVuSsWGYDY9lb87tCvy').then(async function(res) {
            console.log("injectJs")
        })
})

控制台记录了“injectJs”但我无法调用该脚本文件上的任何函数。 我注入了错误的路径文件,或者我必须使用includeJs

由于

=====================

更新

我想更新我的问题的更多细节:

我想对其执行操作的页面的HTML代码:

<script src="/WebResource.axd?d=abc" type="text/javascript"></script>

<a id=btnNext" href="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("btnNext", "", true, ""))">
   <span><span>Next</span></span>

我想从HTML中嵌入的脚本(来自btnNext

触发带有WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("btnNext", "", true, ""))功能的按钮/WebResource.axd?d=abc的操作

这是我的代码:

page.injectJs('./WebResource.axd?d=abc')
        .then(async function(res) {
            console.log("injectJs")

            //Next button click
            await page.evaluate(function () {
               WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("btnNext", "", true, ""))
            });
})

结果不是预期的,我的代码不会触发该功能。

0 个答案:

没有答案