使用Java中的Selenium Webdriver获取格式化文本
使用getText()方法从以下HTML代码中提取文本的工作方式与我预期的不同 HTML 为了从代码标记中提取文本,Java代码如下:使用Java中的Selenium Webdriver获取格式化文本,java,selenium-webdriver,Java,Selenium Webdriver,使用getText()方法从以下HTML代码中提取文本的工作方式与我预期的不同 HTML 为了从代码标记中提取文本,Java代码如下: WebDriverWait waitForElement = new WebDriverWait(driver, 20); WebElement recoverText = waitForElement.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("pre[id='res
WebDriverWait waitForElement = new WebDriverWait(driver, 20);
WebElement recoverText = waitForElement.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("pre[id='responseCommand'] code")));
recoverText= driver.findElement(By.cssSelector("pre[id='responseCommand'] code"));
String textStr = recoverText.getText();
System.out.println("Text extracted: \n" + textStr );
Text extracted:
RP/ABCDEFGHI/
1.TESTING/UI
println的输出如下所示:
WebDriverWait waitForElement = new WebDriverWait(driver, 20);
WebElement recoverText = waitForElement.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("pre[id='responseCommand'] code")));
recoverText= driver.findElement(By.cssSelector("pre[id='responseCommand'] code"));
String textStr = recoverText.getText();
System.out.println("Text extracted: \n" + textStr );
Text extracted:
RP/ABCDEFGHI/
1.TESTING/UI
其余的“2个电话号码”和“3个自由文本”不显示
*文本从.txt文件逐行读取,每读取一行后,使用sendKeys(Keys.ENTER)。这就是为什么代码标记中的文本显示在多行上
尽管有所有可用的文档,我还是无法提取整个文本
有什么想法吗
干杯 您可以尝试使用
innerText
属性
WebElement recoverText = waitForElement.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("pre[id='responseCommand'] code")));
String textStr = recoverText.getAttribute("innerText");
我终于找到了为什么我只显示了一半的文本。显然,每次我做一个键。输入,一个新的
<pre id="responseCommand">
对于输入的第二线电话号码
<div class="textResponse1">
<pre id="responseCommand">
<code>RP/NCE1A0955/
1.TESTING/UI
2 PHONE NUMBER</code>
</pre>
</div>
等等
My getText()仅应用于第一个pre标记。因此,没有其他行
没有你的评论,我没有发现这一点(inneHTML睁开了我的眼睛)
非常感谢缺少的文本是否可见?可能是因为在调用getText()时,最后一行尚未添加。尝试使用本机调用检查:js.executeScript(“返回参数[0].innerHTML;”,recoverText)我非常怀疑所谓的格式设置是问题的原因。有一个页面可以测试这个吗?