使用包含和小写的xpath的Selenium ChromeDriver
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用包含和小写的xpath的Selenium ChromeDriver相关的知识,希望对你有一定的参考价值。
我是selenium和xpath的新手,我正在尝试检查跨度是否包含某些文本,而忽略了这种情况。我试过引用解决方案here和here但没有成功。我有以下内容:
var driver = new ChromeDriver(DRIVER_LOCATION, options);
string name = "doe, john";
// xpath = "(//span[contains(lower-case(text()), lower-case('doe, john'))][contains(@class, 'token-label')])"
string xpath = $"(//span[contains(lower-case(text()), lower-case('{name}'))][contains(@class, 'token-label')])";
var element = driver.FindElement(By.XPath(xpath));
元素中的文本具有“Doe,John”,因此无法找到该元素。在xpath中使用包含selenium时忽略大小写的正确方法是什么?
答案
Chrome不支持小写关键字,您可以使用翻译关键字,如下所述
"//span//text()[contains(translate(., 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'),'"+ name + "')]".
希望这可以帮助...
以上是关于使用包含和小写的xpath的Selenium ChromeDriver的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Selenium xpath 查找包含“下载”一词的所有元素?
Selenium XPath 合并跨越文本并查找包含子字符串的元素
如何使用 JUnit 断言元素包含 Selenium 中的文本