我想 select 下拉列表中的一个项目,但下拉列表的 id 会随着每个 运行 的变化而变化
I want to select an item in a dropdown list but the id of the dropdown list change with every run
我想 select 下拉列表中的一个项目,但下拉列表的 ID 随每个 运行 而变化。这是元素代码:<ul unselectable="on" class="k-list k-reset" tabindex="-1" aria-hidden="true" id="TableName_c2937ec1-50e5-4df6-b2e1-8a9c0a2b3f9f_listbox" aria-live="polite" data-role="staticlist" role="listbox"><li tabindex="-1" role="option" unselectable="on" class="k-item" aria-selected="false" data-offset-index="0">CaseCmsCustomerDto</li>
我的代码
IWebElement fltTableNm = _driver.FindElement(By.XPath("/html/body/div[4]/div/div/div/div[1]/div/div/div[1]/div/div[3]/table/tbody/tr[2]/td[2]/fieldset[2]/div[1]/div[1]/div/span/span"));
fltTableNm.Click();
Thread.Sleep(1000);
IWebElement slctfltTableNm = _driver.FindElement(By.XPath("//id=[starts-with(.,'TableName')]/li[1]"));
slctfltTableNm.Click();
这个 xpath 怎么样?你的想法是对的,id 是动态的,但包含一些足够独特的东西。
你的 xpath 错过了 //ul 和 starts-with 这样的 wirks:
IWebElement slctfltTableNm = _driver.FindElement(By.XPath("//ul[starts-with(@id,'TableName')]/li[1]"));
或者
By.XPath("//ul[@class='k-list k-reset']/li[1]
我想 select 下拉列表中的一个项目,但下拉列表的 ID 随每个 运行 而变化。这是元素代码:<ul unselectable="on" class="k-list k-reset" tabindex="-1" aria-hidden="true" id="TableName_c2937ec1-50e5-4df6-b2e1-8a9c0a2b3f9f_listbox" aria-live="polite" data-role="staticlist" role="listbox"><li tabindex="-1" role="option" unselectable="on" class="k-item" aria-selected="false" data-offset-index="0">CaseCmsCustomerDto</li>
我的代码
IWebElement fltTableNm = _driver.FindElement(By.XPath("/html/body/div[4]/div/div/div/div[1]/div/div/div[1]/div/div[3]/table/tbody/tr[2]/td[2]/fieldset[2]/div[1]/div[1]/div/span/span"));
fltTableNm.Click();
Thread.Sleep(1000);
IWebElement slctfltTableNm = _driver.FindElement(By.XPath("//id=[starts-with(.,'TableName')]/li[1]"));
slctfltTableNm.Click();
这个 xpath 怎么样?你的想法是对的,id 是动态的,但包含一些足够独特的东西。 你的 xpath 错过了 //ul 和 starts-with 这样的 wirks:
IWebElement slctfltTableNm = _driver.FindElement(By.XPath("//ul[starts-with(@id,'TableName')]/li[1]"));
或者 By.XPath("//ul[@class='k-list k-reset']/li[1]