如何在下面的html中识别selenium中的元素

时间:2016-02-22 09:04:48

标签: selenium

<a href="XXXX.asp?WCI=XXXX_Process&amp;CacheID=123351730222025121&amp;menuopt=Policy&amp;TransTyp=NBS">
   <strong><font face="Arial" color="Navy">New Business - Rate</font></strong>
</a>

如何在上面的html中识别元素,我尝试了下面的代码,但它没有成功

  1. driver.findelement(By.cssselector(a[href='given the full href link'])).click () - 由于cacheID是dyanamic而无效

  2. driver.findelement(By.cssselector(a[href*='TransTyp=NBS'])).click () - 部分单词无效

  3. 请帮助我。

    我在chrome中尝试了同样的东西它就像一个魅力,即使我的早期代码与chrome工作正常。不确定Internet Explorer是否有任何问题处理它们。我正在使用Windows 10操作系统和Internet Explorer配备它。 在Internet Explorer中,我可以在登录页面后使用selenium登录,当我想点击新的业务链接时它不起作用,但相同的代码在chrome中工作正常。 这有什么理由吗?

3 个答案:

答案 0 :(得分:0)

你应该使用XPath。你需要两个步骤:

  1. 按文字查找元素
  2. 使用链接文字
  3. 查找距离最近的a元素

    这是XPath:

    driver.findelement(By.xpath("//*[text()='New Business - Rate']/ancestor-or-self::a"))
    

答案 1 :(得分:0)

driver.findElement(By.linkText("New Business - Rate"));

答案 2 :(得分:0)

经过长时间的努力解决了这个问题。我的错,不知道Frames的概念。  我正在工作的网页涉及Internet Explorer中的Frames。  使用linktext本身工作正常。谢谢