将String转换为WebElement

时间:2015-04-28 14:04:21

标签: java webdriver

是否可以将WebElement的字符串表示形式转换为WebElement

所以如果这是一个类变量:

@FindBy(css = "select[id*='budTbl:0:j_id544']") 
WebElement roleList1;

并且字符串设置为 roleList1

可以将字符串转换为WebElement roleList1,以便可以在语句中使用它,例如

new Select(roleList1).getFirstSelectedOption().getText()

4 个答案:

答案 0 :(得分:1)

不,你不能将String转换为WebElement。

相反,你可以做类似的事情,

if (myString.equals("roleList1"))
    new Select(roleList1).getFirstSelectedOption().getText();

答案 1 :(得分:1)

不。 字符串到Webelement的转换非常棘手。 它需要dom和所有知识

但是如果您只是想比较页面上是否存在相同的名称元素,请在下面使用

public boolean methodname(String element_string_name)
{ 
val = false;
if (element_string_name.equals("string_name")) {
                element_name.isDisplayed();
                val = true;
}
return val;
}

答案 2 :(得分:0)

您不能直接将string转换为WebElement,但可以使用下面的命令进行一些操作

string element = "("+MembersInfo_Content.ToString()+")[position()]["+i.ToString()+"]";
string memberInfo = driver.FindElement(By.XPath(element)).GetTextContent();

答案 3 :(得分:0)

最简单的技巧之一是:

假设您需要在 xpath 中修改某些内容,在这种情况下,您可以简单地以如下所示的字符串形式声明该 xpath,然后使用 .replace 方法修改该 xpath:

id: 1
name: John doe
pets: dogs, cats

id: 2
name: jane doe
pets: hamsters, birds, iguanas

然后使用 selenium 调用这个 XPath,比如,

 String xpath = "//span[contains(text(),'STR')]";
 xpath.replace("STR",str);