我自动化了一个Web应用程序,并且需要帮助。
即使我登录网络应用程序。它询问用户名(经理ID),然后该经理ID继续在主页上闪烁。管理员ID随使用不同的登录凭据而更改。
所以我需要继续检查那个经理ID。
<tr>
<td>
<center>
<table width="100%" align="center">
<tbody>
<tr/>
<!--comments: To link all the screens-->
<tr>
<tr class="heading3" align="center">
<td style="color: green">Manger Id : mngr8499</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</body>
您在DOM中可以看到的经理ID显示为经理ID:XXXX
所以请帮助我如何找到这些“XXXX”,不包括经理ID:XXXX
答案 0 :(得分:3)
根据我的理解,在使用 getText()后,您会获得管理员ID:mngr8499 ,但您不希望每次管理员ID都包含文本且只有ID。我的实现将首先复制任何String变量中的文本,然后使用 String.replaceAll()方法我可以获得所需的文本。
以下是相同的实现,如果我理解错误的话,请让我知道。
WebElement mngrid = driver.findElement(By.xpath("//tr[@class='heading3']/td"));
String actual_text = mngrid.getText();
actual_text= actual_text.replace("Manger Id :"," ");
System.out.println(actual_text);
答案 1 :(得分:0)
根据我的理解,我会使用.getText()方法来获取td中的4个字符:
driver.findElement(By.cssSelector(".heading3 > td")).getText().substring(17);
如果你关心的是刷新html,请考虑使用:
WebDriverWait wait = new WebDriverWait(driver, 10)
wait.until(ExpectedConditions.stalenessOf(By.cssSelector(".heading3 > td"));
当前一个值从DOM中删除时,您可以使用新的选择器来获取刷新的值。