2014-07-17 61 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