C# Xpath无法识别正则表达式部分
我不熟悉这一点,我正在尝试理解selenium和XPath的用法C# Xpath无法识别正则表达式部分,c#,selenium,xpath,C#,Selenium,Xpath,我不熟悉这一点,我正在尝试理解selenium和XPath的用法 string exp = "//*[@id=\"g_1_bHwVovAN\"]/td[2]"; var dateTime = chromeDriver.FindElementsByXPath(exp); 使用此代码,我只能接受1个元素。我如何才能改变这个“bHwVovAN”的部分,这样我就可以接触到网站上的各种元素 string exp = "//*[@id=\"g_1_[^[0-9+]]\"]/td[2]"; var date
string exp = "//*[@id=\"g_1_bHwVovAN\"]/td[2]";
var dateTime = chromeDriver.FindElementsByXPath(exp);
使用此代码,我只能接受1个元素。我如何才能改变这个“bHwVovAN”的部分,这样我就可以接触到网站上的各种元素
string exp = "//*[@id=\"g_1_[^[0-9+]]\"]/td[2]";
var dateTime = chromeDriver.FindElementsByXPath(exp);
我试着用正则表达式,但没用。它不承认regex部分。另外,我查看了其他帖子,试图使用匹配项,但也不起作用。我怎样才能解决它
如果我没有写清楚和正确的方式,我也是新的英语。很抱歉,XPath 2.0
中有一个matches()
函数可以解决您的问题,但是selenium
不支持此XPath
版本
您可以尝试在下面匹配以“g\u 1”
开头的id
属性的元素:
要使用正则表达式,您不需要使用
fn:matches
?否则,is正在进行相等匹配,并且:将不会通过相等进行匹配。比如:。作为一个完整的猜测,可能是:string exp=“//*[matches(@id,'g_1.[^[0-9+])]]/td[2]”代码>?@MarcGravel我试图使用该模板,但没有成功[link]非常感谢!工作完美。
string exp = "//*[starts-with(@id,\"g_1_\")]/td[2]";