Selenium处理相同的元素

时间:2015-03-02 06:33:56

标签: html selenium xpath automation webpage

我正在尝试连接到网站的程序,并单击其上的所有按钮。问题是按钮是"相等",并且相同我的意思是它们中的相同文本,相同的链接和相同的CSS。

考虑以下结构:

<content>
<line1>
    <block1> some text </block1>
    <button> Start! </button>
<line2>
    <block2> some different text </block2>
    <button> Start! </button>
<line3>
    <block3> some text different than 1 and 2 </block3>
    <button> Start! </button>

如何制作单击所有按钮的功能?我已经尝试用xpath找到它们了,但是一旦我将它们放在列表中,我就无法点击它们,因为我无法设置正确的等待,所以没有任何反应。

2 个答案:

答案 0 :(得分:0)

尝试使用以下内容: 1)创建列表;将所有按钮放在那里,遍历列表,点击每个元素(即按钮)。

        List <WebElement> buttonList=  
driver.findElements(By.cssSelector("button"));
        for(int i=0; i<buttonList.size(); i++)
       {
          buttonList.get(i).click();
        }

希望这会对你有所帮助。

答案 1 :(得分:0)

将具有相同属性的所有按钮添加到列表中并迭代列表。我尝试过这对我来说非常有效。

List buttons = driver.findElements(By.xpath("//button[text()='button text']"));

        for(int i=0;i<=buttons.size();i++){

        ((WebElement) buttons.get(i)).click();

        }

请告诉我它是否适合你...