如何使用部分id使用xpath使用C#在Selenium中循环遍历元素

时间:2016-12-20 00:01:29

标签: c# selenium selenium-webdriver

我有一堆div。我正在使用他们的班级名称循环:col-lg-3。在上面的类名称的每个div中,我有类似下面的xpath。我需要在td[4]

中挑选字符串值
.//*[@id='item-186951']/div[1]/table/tbody/tr[6]/td[4]
.//*[@id='itemPNS18-152951']/div[1]/table/tbody/tr[6]/td[4]
.//*[@id='itemXYZ-8152951']/div[1]/table/tbody/tr[6]/td[4]
.//*[@id='item11641551']/div[1]/table/tbody/tr[6]/td[4]
.//*[@id='itemAPS12641']/div[1]/table/tbody/tr[6]/td[4]

这部分是在每个元素[@id='{dynamically-changing-id}']中发生变化的部分,其余部分是不变的。我该如何循环呢?目前我正在尝试这个,但我只得到第一个项目(可以理解)

        //get all divs on page
        var elements = ...FindElements(By.ClassName("col-lg-3"));
        //for each div found
        foreach(var e in elements)
        {
            //get text at xpath
            string str = e.FindElement(By.XPath(".//*[@id='item-186951']/div[1]/table/tbody/tr[6]/td[4]"));
        }

我正在使用Selenium 2.53

1 个答案:

答案 0 :(得分:1)

您可以检查var d = new Date(); var elapsed = new Date() - d; var seconds = parseInt(elapsed / 1000); var minutes = parseInt(seconds / 60); alert("Time spent on page: " + minutes + " Minute/s " + seconds + " Scond/s"); 属性starts with" item":

id