我正在尝试查找网页中的元素。元素按行排列。对于所有行(或元素),公共属性是“ pfobj”。借助列表界面,我列出了所有具有属性pfobj的元素。在使用xpath查找元素时,IAM出现错误。我试图在xpath参数中插入srting pfobj。
特定元素的代码:
WebElement eachelement = driver.findElement(By.xpath("//*[@pfobj=\"pfobj1\"]"));
我想使用循环为所有元素运行。因此,我需要在“ pfobj1”的位置插入“ pfobj”(将通过增加值进行迭代)。
我尝试了几种方法,但是却出错了:
String slash1 = "\\";
String pfobj = pfobj1;
String slash2 = "\\";
String final = slash1 + pfobj + slash2
有人可以帮我解决这个问题
答案 0 :(得分:0)
您可以尝试以下代码:
for ( WebElement element: List) {
if (element.getAttribute("pfobj").equals("pfobj")){
// do what you want
}
}
列表是您的元素列表
答案 1 :(得分:0)
根据我对这个问题的理解,您的HTML中有多个元素,其值为pfobj
属性,分别为pfobj1,pfobj2,依此类推。
如果要在循环中比较所有此类元素,可以这样做-
List<WebElement> your_list = driver.findElements(By.xpath("//input[contains(@pfobj,'pfobj')]"))
int counter = 1;
for(WebElement your_element : your_list )
{
if(your_element.getAttribute("pfobj").equals("pfobj" + counter))
{
//do whatever you want
}
counter++;
}