如何连接硒中的两个元素

时间:2018-08-03 12:07:20

标签: selenium selenium-webdriver automation

我需要连接下面提到的两个Web元素。在这之间,我需要迭代for循环

@FindBy(xpath="//*[@id='undefined/]/div[1]/div[2]/div[2]/svg/g[")
public WebElement test1;

@FindBy(xpath="]/path")
public WebElement test2;

例如-

for (int i=1; i<=10; i++){
//Need code for connect two element like test1 +i + test2.
}

你能帮我吗?

2 个答案:

答案 0 :(得分:0)

要合并两个元素的文本,可以执行以下操作-

for (int i=1; i<=10; i++){
 System.out.println(test1.getText() +i + test2.getText());
}

编辑- 您实际上是在尝试基于循环创建动态xpath。请注意,您不必为此创建两个WebElement,因为它们并不是真正的WebElement,因为它们的xpath本身并不完整,因此不会与任何元素关联。

现在,无法使用PageFactory来创建类似的动态元素。要开箱即用,请参阅this。否则,您需要使用常规的driver.findElement()请注意,我是如何使用String对象而不是WebElement-

String test1 = "//*[@id='undefined/]/div[1]/div[2]/div[2]/svg/g[";
String test2 = "]/path";

for (int i=1; i<=10; i++){
driver.findElement(By.xpath((test1 + i + test2)))
}

答案 1 :(得分:0)

我认为您想连接两个字符串,然后在运行时生成xpath。这会帮助吗?

String xpath1 "//*[@id='undefined/]/div[1]/div[2]/div[2]/svg/g
for (int i=1; i<=10; i++){
String finalxpath = xpath1+"["+i+"]/path"

}