Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SeleniumJava-list元素在无序列表中包含部分文本_Java_Selenium_Text_Element_Contains - Fatal编程技术网

SeleniumJava-list元素在无序列表中包含部分文本

SeleniumJava-list元素在无序列表中包含部分文本,java,selenium,text,element,contains,Java,Selenium,Text,Element,Contains,如何为添加“以开头”或“包含” (By.xpath("//ul/li[1]"))); 差不多 (By.xpath("//ul/li[1][contains(text(),'"+textConstant+"')]"))); 这不管用 有人能为这篇文章提供正确的格式吗?谢谢如果只有一个li标签包含该文本,则无需提及索引 你可以这样写: By locator = By.xpath("//ul/li[contain‌​s(., '"+lostText+"')]"); WebElement err

如何为添加“以开头”或“包含”

(By.xpath("//ul/li[1]")));
差不多

(By.xpath("//ul/li[1][contains(text(),'"+textConstant+"')]")));  
这不管用


有人能为这篇文章提供正确的格式吗?谢谢

如果只有一个li标签包含该文本,则无需提及索引

你可以这样写:

By locator = By.xpath("//ul/li[contain‌​s(., '"+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标记包含该文本,则无需提及索引

你可以这样写:

By locator = By.xpath("//ul/li[contain‌​s(., '"+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();
}

如果textConstant位于li标记内,则可以按以下方式编写:-

(By.xpath("//ul/li[contains(.,'"+textConstant+"')]));

给你,多特。表示text()

如果textConstant位于li标记内,则可以按以下方式写入:-

(By.xpath("//ul/li[contains(.,'"+textConstant+"')]));

给你,多特。表示text()

您可以对Xpath使用AND运算符

//ul/li[position()=1 and contains(text(),'"+textConstant+"')]

这将匹配包含文本常量值的最顶端的li标记。

您可以对Xpath使用AND运算符

//ul/li[position()=1 and contains(text(),'"+textConstant+"')]


这将匹配最上面的li标记,该标记包含文本常量值。

我认为您需要备份一个层,并将“li”包含在您的包含中,就像这个人在这里所做的那样:我认为您需要备份一个层,并将“li”包含在您的包含中,有点像这个人在这里做的:多个li标签包含这个文本,真的需要最新或最上面的liNot。最顶端的li通过Node app将div从一个活动/可见状态更改为一个不可见状态。我需要在顶部出现一小段时间的包含文本的li,然后才将其存储在底部,标识为相同的li,并包含相同的文本。看起来我需要包括索引和
[包含(,““+textConstant+”)]
您可以获得类似于:By.xpath(“//ul/li[1]”)的顶级丢失li。然后检查webElement是否已启用。不需要检查文本,因为有时文本可能不会提供给列表..对吗?如果它包含文本,那么我猜它将处于启用模式。出现的索引可能包含两个不同的文本短语。这就是为什么我要从一个短语中选取部分文本,并说“如果找不到,那就是另一个”(不能使用整个文本短语匹配),那么这将起作用。你有什么错误吗?如果不起作用,则意味着可能存在其他具有相同xpath的web元素。此时,您可以从'ul'的父标记中选择xpath。多个li标记包含此文本,需要最新或最顶级的liNot。最顶端的li通过Node app将div从一个活动/可见状态更改为一个不可见状态。我需要在顶部出现一小段时间的包含文本的li,然后才将其存储在底部,标识为相同的li,并包含相同的文本。看起来我需要包括索引和
[包含(,““+textConstant+”)]
您可以获得类似于:By.xpath(“//ul/li[1]”)的顶级丢失li。然后检查webElement是否已启用。不需要检查文本,因为有时文本可能不会提供给列表..对吗?如果它包含文本,那么我猜它将处于启用模式。出现的索引可能包含两个不同的文本短语。这就是为什么我要从一个短语中选取部分文本,并说“如果找不到,那就是另一个”(不能使用整个文本短语匹配),那么这将起作用。你有什么错误吗?如果不起作用,则意味着可能存在其他具有相同xpath的web元素。此时,您可以直接从'ul'的父标记中选择xpath,我发现您缺少了结尾的引号。害怕尝试此操作,因为不确定它是否会命中第一个实例,或者在出现更多相同且正确的“li”时会感到困惑,缺少结尾引号:-(By.xpath(“//ul/li[contains(,““+textConstant+”)]”);您使用的textConstant字符串肯定是唯一的..对吗?如果是,那么它将只搜索包含字符串textConstant的“li”。一下子我就发现你缺少了结尾的引号。害怕尝试此操作,因为不确定它是否会命中第一个实例,或者在出现更多相同且正确的“li”时会感到困惑,缺少结尾引号:-(By.xpath(“//ul/li[contains(,““+textConstant+”)]”);您使用的textConstant字符串肯定是唯一的..对吗?如果是,那么它将只搜索包含字符串textConstant的“li”。您的答案不会给出“表达式不是合法表达式”的答案。虽然没有列在原来的文章,你收集的文字不是唯一的,我需要最顶端的李标签,所以我会给你点。谢谢。你的回答没有告诉我“表达不是合法表达”。虽然没有列在原来的文章,你收集的文字不是唯一的,我需要最顶端的李标签,所以我会给你点。谢谢