我尝试从模式弹出窗口的标题中获取文本。在页面上有许多这样的窗口 - 每个都有唯一的 id。在每个这样的模态窗口中,所有元素都有相同的类名,所以首先我需要指向正确的窗口,然后寻找特定的元素。所以我用这段代码来做:
public String getRFRTitle(String rfrNumber) {
return driver.findElement(By.id("rfr-details-dialog-"+rfrNumber)).
findElement(By.className("modal-title")).getText();
}
但它没有向我显示任何东西。我发现,当我之前打印这个标题文本时,这个功能可以正常工作。我在从函数返回值之前添加了这个:
System.out.println("tite: "+ driver.findElement(By.id("rfr-details-dialog-"+rfrNumber)).
findElement(By.className("modal-title")).getText());
我尝试在返回文本之前初始化变量,但没有运气。我可以采用我的解决方法,但我很好奇这个 Java 或 Selenium 问题。