Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.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
Selenium Webdriver-Java-验证部分文本显示是否在末尾有三个点_Java_Selenium_Selenium Webdriver - Fatal编程技术网

Selenium Webdriver-Java-验证部分文本显示是否在末尾有三个点

Selenium Webdriver-Java-验证部分文本显示是否在末尾有三个点,java,selenium,selenium-webdriver,Java,Selenium,Selenium Webdriver,以下文本显示在网页中 HTML代码如下所示: <tr> <td valign="middle" align="left"> <div class="ellipsis" style="max-width: 425px; display: inline-block;"> HKCR\abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmn

以下文本显示在网页中

HTML代码如下所示:

<tr>
  <td valign="middle" align="left">
    <div 
      class="ellipsis" 
      style="max-width: 425px; display: inline-block;">
      HKCR\abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnop
   </div>
 </td>
而不是在部分文本末尾加上3个点。 当我编写以下代码时,它输出全文,而不是带有3个点的部分文本

String text1 = webDriver.findElement(
  By.xpath(".../tr/td[1]")
).getText();
所以,我对如何验证只显示部分文本感到困惑。
有人能帮忙吗?

请尝试下面的代码并回复

String text1 = Login.driver.findElement(By.xpath("//div[ends-with(@title,'...')]")).getText();

这里的问题是,Selenium以一种不会捕获省略号隐藏的文本溢出的方式检测“可见性”。可见性是指缺少一组标准,CSS属性/值“text overflow:ellipsis”不是其中之一

您仍然可以测试页面上的元素是否使用此CSS属性。使用Selenium验证所需的div是否具有所需的CSS文本溢出值,例如,getCssValue()

String cssvalue = Login.driver.findElement(By.xpath(".//*[@id='ccleaner_options_exclude_div']/table/tbody/tr/td/div")).getCssValue("text-overflow");

并检查值是否为“省略号”。理论上,只要设置了该值,浏览器就应该在文本溢出之前截断文本并添加省略号

这就是html。与硒无关请再次澄清这个问题。。。您想在控制台中打印文本的结尾带有“..”还是验证文本的结尾是否包含“..”?我想验证结尾处是否只显示带有3个点的部分文本Hi Rupesh,使用您的代码时出现以下错误-org.openqa.selenium.InvalidSelectorException:给定的选择器//div[以(@title,“…”)结尾]无效或未生成WebElement。请尝试下面的xpath//div[@*[以(,“…”)]结尾Hi Rupesh-我在使用上述代码时遇到了相同的错误-org.openqa.selenium.InvalidSelectorException:给定的选择器//div[@*[以(,“…”)结尾]无效或未生成WebElement。这不是答案,只是随机猜测。它应该是注释。有趣的是,当我在inspector中检查时,我看到了
省略号
,但此函数检索
剪辑
(实际上在DOM中不存在)。我想知道为什么。
String cssvalue = Login.driver.findElement(By.xpath(".//*[@id='ccleaner_options_exclude_div']/table/tbody/tr/td/div")).getCssValue("text-overflow");