Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.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 我们如何处理截断的标签或文本_Selenium Webdriver_Xpath - Fatal编程技术网

Selenium webdriver 我们如何处理截断的标签或文本

Selenium webdriver 我们如何处理截断的标签或文本,selenium-webdriver,xpath,Selenium Webdriver,Xpath,为了测试应用程序的一些特性,我需要验证长字母数字字符串。这个字符串/标签/文本(无论您在这里可以调用什么)应该在用户给定时截断 我在谷歌上搜索并试图找到-“如何验证被截断的字符串”,但并没有找到有用的信息,所以我想问题应该在这里 挑战-我可以为长字符串编写一个xpath来验证标记/标签/文本/字符串本身,但复杂的部分是字符串在被截断时在结尾显示很少的点(例如thisIsLongStrin…) 我想确保当用户给出长字符串时,这些“dotes”会显示出来。 请记住,我无法在页面源代码中看到这些“宠儿

为了测试应用程序的一些特性,我需要验证长字母数字字符串。这个字符串/标签/文本(无论您在这里可以调用什么)应该在用户给定时截断

我在谷歌上搜索并试图找到-“如何验证被截断的字符串”,但并没有找到有用的信息,所以我想问题应该在这里

挑战-我可以为长字符串编写一个xpath来验证标记/标签/文本/字符串本身,但复杂的部分是字符串在被截断时在结尾显示很少的点(例如thisIsLongStrin…)

我想确保当用户给出长字符串时,这些“dotes”会显示出来。

请记住,我无法在页面源代码中看到这些“宠儿”

对此有何想法或建议

提前感谢各位

假设字符串为:
“thisIsLongString”

在截断后显示的页面上:
“thisIsLongStri…”

这就是工作原理:

//*[@class='abc']//*[contains(text(),'thisIsLongString')]
//*[@class='abc']//*[contains(text(),'thisIsLongStri')]
这就是工作原理:

//*[@class='abc']//*[contains(text(),'thisIsLongString')]
//*[@class='abc']//*[contains(text(),'thisIsLongStri')]
这不起作用:

//*[@class='abc']//*[contains(text(),'thisIsLongStrin...')]
(因为溺爱不是页面的一部分)


我不确定应该采取什么方法来确保这些数据点存在。

截断文本是应用CSS属性
文本溢出:省略号
的结果。要检查文本是否被截断,可以使用Selenium内置方法:

Python示例

element = driver.find_element_by_xpath("//*[@class='abc']//[text()='thisIsLongString']")
assert element.value_of_css_property("text-overflow") == "ellipsis"
注意:当然,您还应该检查(如果您不确定)字符串是否足够长,可以被截断,因为即使应用了
文本溢出:省略号
属性,短字符串也不会被截断,所以它可能看起来像

assert element.value_of_css_property("text-overflow") == "ellipsis" and len(element.text) > 20 

这应该检查应用的属性和字符串长度是否大于20个字符…

共享源示例、所需输出和当前代码尝试在我的情况下,我正在调整窗口大小以验证文本是否被截断。挑战是,在调整大小后,
元素。text
提供全文而不是截断的文本,包括
我想获取网页上显示的截断文本。有什么建议吗?