在Selenium中定位href元素

时间:2012-10-22 15:19:45

标签: java selenium selenium-rc selenium-ide selenium-webdriver

以下是我的代码

<TD ALIGN="LEFT" width="65%" id="oldcontent" >3. Download csv template
    <a href="javascript:doformsubmit('3');"><IMG src="images/date_pick.gif" border=0></a>
</TD>

如何找到一个具有javascript函数调用的href元素,并且没有id存在。提前感谢您的帮助

回答我自己的问题:以下语法有效

assertTrue(selenium.isElementPresent("//a[@href=\"javascript:doformsubmit('3');\"]"));

3 个答案:

答案 0 :(得分:0)

你可以使用BeautifulSoup来阅读网页的来源。

以下解决方案是在python中完成的,但你应该可以在java中使用类似的东西。编辑:除了BeautifulSoup不适用于java :) =&gt;你应该切换到python。

soup = BeautifulSoup(br.page_source)
tmp = soup.findAll('a')
for t in tmp:
     string =  t['href']

然后你可以使用正则表达式来捕获每个有javascript的href。

答案 1 :(得分:0)

您可以使用适当的Xpath表达式(类似于// a [(@ href ='javascript:on form submit('3');')]),查看此post以获取更多示例。< / p>

答案 2 :(得分:0)

这样做的方法是 -

  

driver.findElement(By.linkText( “JavaScript的:doformsubmit( '3');”));

如果您的意图类似于点击href,您实际上可以使用TD,因为我看到它可以很容易找到,因为它有一个id。