我是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 + "')]".
希望这可以帮助...