1

我对上述问题有疑问......但首先,如果我错过了这个网站内这个问题的答案,那么我提前为提出重复的问题道歉......

我的问题是,当我在 php 中有一个循环,它创建了一个重复的按钮,例如一个按钮,它还为我需要访问的这个元素创建了相同的名称和 id,是的,我可以访问这个元素,尽管只是 findbyid 的第一个实例selenium webdriver 中的方法给出了。

我通过创建一个发送选项卡键的多重命令对此进行了草率修复,我必须首先指定在执行操作之前添加选项卡键执行了多少次迭代。

有什么方法可以通过某个索引或特殊位置访问此元素.. 最后抱歉我的英语不可读,请多多包涵.. 提前谢谢...

4

2 回答 2

1

你可以这样做,@MarkRowlands 说,或者如果你知道索引,你可以这样做:

WebElement button = driver.findElement(By.xpath("(//*[@id='id'])[n]")) //n - your index

但我不建议你使用索引。在我的实践中,总是有精确元素的定位器

于 2013-07-10T13:18:21.887 回答
1

您可以形成一个 Web 元素列表,然后通过其索引访问该列表中的 Web 元素。

List<WebElement> buttons = driver.findElements(By.id("id"));
buttons[0].click();
buttons[1].click();
buttons[n].click();

显然,您需要知道要访问列表中的哪个位置,但据我所知,由于您的标签尝试,您已经知道这一点。

于 2013-07-10T10:23:41.860 回答