2014-07-17 63 views
0

我是新使用Selenium 2(通过Firefox插件) - 我还没有在网络上的其他地方找到这个答案。Selenium 2验证SCRIPT标记

是否有可能验证<script>元素是目前在页面代码

我需要经常检查一些需要一系列脚本的网页脚本块元素链接和页面。我一直没能弄清楚这一部分。一个示例是检查脚本是否在页面上。 下面是预计的样本代码:

<script> 
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||' 
    function(){ 
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 

m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 
    })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); 
    ga('create', 'xx-x-0000-00', 'somedomain.com'); 
</script> 

预先感谢您!

+0

这个答案建议你可以使用'getAttribute(“innerHTML”)':http://stackoverflow.com/questions/20497607/how-to-get-the-contents-of-a-script-tag- in-selenium – Richard

+0

我正在使用Selenium IDE Firefox插件来创建HTML脚本。如何/将在哪里包括使用getAtribute? – photoman

+0

有没有人有解决方案? @理查德 - 你能详细说一下吗? – photoman

回答

0

硒IDE,你可以得到的属性,像这样:

<tr> 
<td>storeAttribute</td> 
<td>//[email protected]</td> 
<td>x</td> 
</tr> 
<tr> 
<td>echo</td> 
<td>${x}</td> 
<td></td> 
</tr> 

您可能需要为<script>元素更好的选择。

我希望这会有所帮助。

+0

尝试你的建议。没有得到期望的结果。使用代码时得到的错误消息,例如: \t​​storeAttribute \t​​//脚本[含有(@src, 'filename.js')] \t​​X \t​​回波 \t​​$ {x} \t​​ 的错误信息是:[错误]无效的XPath [2]://脚本[包含( 你可以使用我的例子作为参考,因为它坐落在一个页面的HEAD。谢谢! – photoman

+0

我设法让它工作,但不知道这是否是正确的代码。我想我可以重复此为每个脚本我需要测试: \t​​型 \t​​的xpath = //脚本[@src = '//路径发往/脚本/ location.js'] \t​​ 这是正确的吗?如果我在已知不存在脚本的页面上运行它,它就会失败 - 从而证明它是有效的。 – photoman

+0

@photoman我只是非常熟悉Selenium IDE,但是从我做的阅读看起来很正确。 – Richard