使用Selenium搜索站点中的跟踪脚本

时间:2013-02-01 20:45:03

标签: selenium

我刚刚开始玩硒,所以这可能是一个小问题。我的一位同事必须检查我们网站的大约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。

有什么建议吗?

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分: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
}