如何使用name属性标识具有相同名称的对象

时间:2014-09-28 06:09:47

标签: selenium selenium-webdriver

我想找出一个具有不同价值的同名对象?在这里,我有兴趣仅根据名称进行识别。我们是否在QTP中提供了类似索引的属性。在QTP中,如果可以通过索引区分具有相同的两个按钮,则第一个按钮的索引为0,第二个按钮的索引为1.

有没有办法在WebDriver中做同样的事情?

我想识别具有名称含义的对象" By.name"。我怎么能这样做?

谢谢, 乌代

2 个答案:

答案 0 :(得分:0)

有多种方法可以实现它(java中的例子):

  • 使用findElements并从结果网络元素列表中获取相应的元素:

    List<WebElement> elements = driver.findElements(By.name("test"));
    WebElement element = elements.get(0);
    
  • 使用基于xpath的方法(索引从1开始):

    WebElement element = driver.findElement(By.xpath('//input[@name="test"][1]'));
    

答案 1 :(得分:0)

您还可以在搜索中使用jQuery样式语法..

例如,在Chrome工具$('css selector')[0]中,您会看到第一个出现的元素。

Selenium附带了一个JavaScript驱动程序,因此您可以对其进行实例化,并将其用于您的网站以利用jQuery。