2013-02-01 25 views
1

我剛開始玩硒,所以這可能是一個noob問題。我的一位同事必須檢查我們網站的大約100頁,以查看是否在其上插入了跟蹤腳本。她必須每月做一次,因此我決定研究硒。使用硒在網站中搜索跟蹤腳本

目前,她轉到頁查看源和搜索這(和其他腳本跟蹤功能)

<script type="text/javascript" src="https://ssltracking.esearchvision.com/esi/trackingtest.js"></script> 

,某些頁面包括需要填寫並提交表單。我弄清楚如何使用selenium IDE輕鬆設置dom元素的值。

我不確定該怎麼做是告訴selenium在源代碼中搜索這個腳本。如果需要的話,我可以在我們的服務器上安裝selenium webdriver。我以前沒有用Java,C#或Python編程,但我確實已經安裝了node.js和php。

有什麼建議嗎?

+0

我想你在找什麼是刮源代碼斷網-頁。然後以某種方式美化它並最終搜索腳本標記。我會推薦Ruby作爲編程語言,並將nokogiri gem作爲實現這一點的最簡單方法。 –

回答

0

在Java:

String trackingScript = "<script type="text/javascript" src="https://ssltracking.esearchvision.com/esi/trackingtest.js"></script>" 

String html = driver.getPageSource(); 
if (html.indexOf(trackingScript) != -1) { 
    // the script is in the page source 
} 
else { 
    // the script is not in the page source 
} 
+0

字符串匹配可能不是很健壯,我認爲使用元素定位器會更可取 – qwwqwwq

1

在Python中,使用硒元素定位器,而不是字符串匹配:

from selenium import selenium 
import selenium.webdriver.support.ui as ui 
wait = ui.WebDriverWait(driver,10) 
driver = webdriver.Firefox() ## or whatever browser you prefer 
driver.get("yourpage.com") 
## wait for page to load 
wait.until(lambda driver: driver.find_elements_by_tag_name('script')) 
scripts = driver.find_elements_by_tag_name('script') 

for script in scripts: 
    if(script.get_attribute('src') == \ 
     'https://ssltracking.esearchvision.com/esi/trackingtest.js' and \ 
     script.get_attribute('type') == 'text/javascript'): 
     ## do whatever