2011-05-12 66 views
0

我使用Selenium RC为至少部分动态生成或以其他方式依赖数据库的网站编写测试用例。我希望能够告诉我的Python程序调用Selenium对特定链接的目标执行字符串操作,但我无法确定目标(href =''字段)将在“编译时间“(或者,无论Python的等价物是什么,有人可以帮助我吗?)。有没有办法从链接的xpath中获取链接的JavaScript目标?

现在,我确定该链接的xpath将会是什么; “// table [@ id ='search-results']/tbody/tr [2]/td [3]/a/img”。我正在运行Selenium,它有一个运行javascript任意行的eval()函数(万恶之源)。有没有什么办法可以从xpath和Selenium中获得这个链接的目标,还是我必须找到一些方法来下载整个页面源代码(我该怎么做?应该有一个Selenium命令来下载整个页面源代码,但当我尝试运行它时,出现了“元素不存在”错误),然后打开正则表达式来混淆整个页面源代码?

回答

0

你的XPath表达式选择一个IMG元素,但在我看来,你想在其父一个元素。所以,如果你的XPath是正确的,那么链接目标应该是:

<...value-of select="//table[@id='search-results']/tbody/tr[2]/td[3]/[email protected]"/> 

或者是:

<...for-each select="//table[@id='search-results']/tbody/tr[2]/td[3]/a"> 
    <...value-of select="@href" /> 
</...for-each> 

这里......是你的命名空间

相关问题