我正在尝试查找动态变化的元素。 例如,
<span id="ygtvlabelel105" class="ygtvlabel gticon-f214_casesTree-0">LLB Application</span>
是否可以使用上述“LLB Application
”中的文字找到元素?
var element = Driver.FindElement(By.??????("//a[contains(text(), 'LLB Application')]"));
XPath只包含Id's',//*[@id="ygtvlabelel105"]
中的文字,并且每次都会更改数字。
答案 0 :(得分:0)
根据您提供的用于查找元素的HTML,您可以使用以下任一定位器策略:
CssSelector
:
var element = Driver.FindElement(By.CssSelector("span.ygtvlabel.gticon-f214_casesTree-0[id^='ygtvlabelel']"));
XPath
:
var element = Driver.FindElement(By.XPath("//span[@class='ygtvlabel gticon-f214_casesTree-0' and starts-with(@id,'ygtvlabelel')]"));
XPath
使用文字 LLB应用进行更细化:
var element = Driver.FindElement(By.XPath("//span[@class='ygtvlabel gticon-f214_casesTree-0' and starts-with(@id,'ygtvlabelel') and contains(.,'LLB Application')]"));