尝试点击收到的元素但不能出于未知原因。 周期是:
public WebElement element(String title) {
for (WebElement el : list) {
if (el.getText().equals(title)) {
return el;
}
}
return null;
}
并点击只是
click(element("title"));
...但是当我直接指定元素时:
click(...findElement(By.xpath("//*[@id='id']//span[position ()>1]//*[text()[contains(.,'title')]]"));
一切都很完美。
May metter请求的元素位于之前打开的div中。 谢谢。
答案 0 :(得分:0)
foreach循环中的if语句可能返回null并退出。这就是为什么当价值直接传递时,它起作用了。 为了确保您可能需要调试它。看到这段代码,这是我能给你的唯一提示......
答案 1 :(得分:0)
通过在元素xpath中添加/ a来解决这个问题:
public WebElement element(String title) {
for (WebElement el : list) {
if (el.getText().equals(title)) {
return el**.findElement(By.xpath("a")**;
}
}
return null
}
奇怪的是,没有“a”的xpath直接工作,并且没有通过循环......