Selenium Java - 列表元素包含无序列表中的部分文本
Selenium Java - list element contains partial text within unordered list
如何为
添加 'starts-with' 或 'contains'
(By.xpath("//ul/li[1]")));
类似于
(By.xpath("//ul/li[1][contains(text(),'"+textConstant+"')]")));
这行不通
任何人都可以协助正确格式化吗?谢谢
如果只有一个 li 标签包含该文本,则无需提及索引。
你可以这样写:
By locator = By.xpath("//ul/li[contains(., '"+lostText+"')]");
WebElement errorFind = (new WebDriverWait(mypackage.ClassMain.driver, 15)).until(ExpectedConditions.presenceOfElementLocated(locator));
String text = mypackage.ClassMain.driver.findElement(By.xpath("//ul/li[1]")).getText();
if(text.equals("Lose") {
doNext();
} else {
System.out.print("Win \n");
doOther();
}
如果li标签里面有textConstant,那么可以这样写:-
(By.xpath("//ul/li[contains(.,'"+textConstant+"')]));
这里,点 .代表文本()
您可以对 Xpath 使用 AND 运算符。
//ul/li[position()=1 and contains(text(),'"+textConstant+"')]
这将匹配最上面的 li 标签,其中包含文本常量值。
如何为
添加 'starts-with' 或 'contains'(By.xpath("//ul/li[1]")));
类似于
(By.xpath("//ul/li[1][contains(text(),'"+textConstant+"')]")));
这行不通
任何人都可以协助正确格式化吗?谢谢
如果只有一个 li 标签包含该文本,则无需提及索引。
你可以这样写:
By locator = By.xpath("//ul/li[contains(., '"+lostText+"')]");
WebElement errorFind = (new WebDriverWait(mypackage.ClassMain.driver, 15)).until(ExpectedConditions.presenceOfElementLocated(locator));
String text = mypackage.ClassMain.driver.findElement(By.xpath("//ul/li[1]")).getText();
if(text.equals("Lose") {
doNext();
} else {
System.out.print("Win \n");
doOther();
}
如果li标签里面有textConstant,那么可以这样写:-
(By.xpath("//ul/li[contains(.,'"+textConstant+"')]));
这里,点 .代表文本()
您可以对 Xpath 使用 AND 运算符。
//ul/li[position()=1 and contains(text(),'"+textConstant+"')]
这将匹配最上面的 li 标签,其中包含文本常量值。