var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-333696-1']); _gaq.push(['_trackPageview']); _gaq.push(['_trackPageLoadTime']); (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })();
  • 2011年04月03日

    Selenium中使用XPath

    分类:

    虽然最新的IE9支持XPathIE上运行XPath,但JavaScript-XPath已经纳入Selenium。在Java中使用:

    Java语言:
    selenium = new DefaultSelenium(location, port, browser, targetPath);
    selenium.start();
    if(browserString=="*iexplore")
    selenium.useXpathLibrary("javascript-xpath");
    也可以手工修改selenium-browserbot.js中默认的XPath库ajaxslt。 

     

    XPath原用作确定XML文档中树节点信息,详见参考XPath 1.0XPath 2.0。使用见文How to parse web pages using XPath

     

    Firefox有两个插件可以有效定位元素的XPath,一个是鼎鼎大名的Firebug,以下是定位方法:

    1.右键选中该元素,点击“查看元素”(Inspect element);

    2.FirebugHTML标签显示该元素前端代码被选,在此标签内右键选择“复制XPath”(Copy XPath)。

    这个XPath来自于DOM树经过了修正,实际使用时需要对照页面实际HTML代码校正。此外Firebug命令行控制台提供了$x(xpath)功能,可用于验证该XPath的返回值。

     

    另外一个就是XPath Checker,这个使用就非常简单:右键选中该元素,点击“View XPath”即可。

    分享到:

    历史上的今天:

    HTTP View 2007年04月03日