从文件系统加载JS脚本并使用selenium执行它

时间:2015-04-20 12:51:43

标签: javascript selenium dynamic-script-loading resource-loading

我正在使用js.executeScript Selenium的方法来执行yui js脚本。 该脚本由selenium webdriver执行,以模拟"点击"在混合移动应用程序(按钮是webview)

 String IncludeYUI = "script = document.createElement('script');script.type = 'text/javascript';script.async = true;script.onload = function(){};script.src = '"
                    + YUI_PATH
                    + "';document.getElementsByTagName('head')[0].appendChild(script);";
            js.executeScript(IncludeYUI);

YUI_PATH是一个网址 - https://cdnjs.cloudflare.com/ajax/libs/yui/3.18.0/yui/ .....

问题在于我无法从当前站点访问全局网络。

所以我想在项目下保存脚本,只是从FS加载它。 但这是一个js,无法访问FS ......

如何加载脚本?

由于

2 个答案:

答案 0 :(得分:0)

所以,你在某个地方加载了一个html页面,对吧?从概念上讲,您将以相同的方式加载您的JS文件:您向服务器发出加载JS文件的请求,就像您加载HTML页面一样。

看起来像这样:

<script src="scripts/yourFile.js">

另外,我从来没有见过有人像你一样在你的代码示例中加载一个js文件...我绝对会建议你在你的html中添加一个脚本标记。

您可能也想发布您的HTML代码;我们能够提供更好的帮助。如果需要,我会相应地更新此答案。

答案 1 :(得分:0)

最后,经过多次尝试,some1建议我使用jquery。 经过一些挖掘后,我使用了带有jquery的tap的executeScript,它起作用了......

$('#btn_login_button').trigger('tap');

我想知道所有其他使用click和元素坐标的方法都不起作用