将字符串变量添加到 xpath c# selenium
Adding string variable to xpath c# selenium
我可能花了 8 个小时试图解决这个问题,但总是失败。我已经搜索了一个年龄段的解决方案
我正在尝试使用 xpath(c# selenium 库)通过部分 id 匹配来查找 selenium 元素。以下工作非常好。部分文字为sel_1-rowse1
IWebElement elem = wait5.Until(x => x.FindElement(By.XPath("//a[contains(@id,'sel_1-rowsel')]")));
然而,当我想使用名为 partial 的变量时,这不起作用
string partial = "sel_1-rowse1";
IWebElement search = wait.Until(x => x.FindElement(By.XPath(String.Format("//a[contains(@id,'{0}')]", partial))));
或
IWebElement search = wait.Until(x => x.FindElement(By.XPath(String.Format("//a[contains(@id,{0})]", partial))));
我试过单引号双引号和转义字符。但无法弄清楚这一点。我什至无法提供错误,因为它选择了一个有效的 ID。大脑严重耗尽了这一点。
只是观察,第一个示例元素 id 以小写 'L' (so l) 结尾,而第二个以数字 1 结尾。可能只是复制粘贴错误,但值得一问...
partial
是 C# 中的保留关键字。
将 partial
重构为其他东西(C# 未保留),你应该是黄金。
我可能花了 8 个小时试图解决这个问题,但总是失败。我已经搜索了一个年龄段的解决方案
我正在尝试使用 xpath(c# selenium 库)通过部分 id 匹配来查找 selenium 元素。以下工作非常好。部分文字为sel_1-rowse1
IWebElement elem = wait5.Until(x => x.FindElement(By.XPath("//a[contains(@id,'sel_1-rowsel')]")));
然而,当我想使用名为 partial 的变量时,这不起作用
string partial = "sel_1-rowse1";
IWebElement search = wait.Until(x => x.FindElement(By.XPath(String.Format("//a[contains(@id,'{0}')]", partial))));
或
IWebElement search = wait.Until(x => x.FindElement(By.XPath(String.Format("//a[contains(@id,{0})]", partial))));
我试过单引号双引号和转义字符。但无法弄清楚这一点。我什至无法提供错误,因为它选择了一个有效的 ID。大脑严重耗尽了这一点。
只是观察,第一个示例元素 id 以小写 'L' (so l) 结尾,而第二个以数字 1 结尾。可能只是复制粘贴错误,但值得一问...
partial
是 C# 中的保留关键字。
将 partial
重构为其他东西(C# 未保留),你应该是黄金。