是否可以将WebElement
的字符串表示形式转换为WebElement
?
所以如果这是一个类变量:
@FindBy(css = "select[id*='budTbl:0:j_id544']")
WebElement roleList1;
并且字符串设置为 roleList1
可以将字符串转换为WebElement
roleList1,以便可以在语句中使用它,例如
new Select(roleList1).getFirstSelectedOption().getText()
答案 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);