根据其他条件从Xpath获取HTML列表位置

问题描述 投票:1回答:1

作为 this question 的后续行动尚未得到可行的答案,我一直在调查一项工作,但再次陷入困境。

基本上我想知道你是否能够根据一些搜索条件从HTML中获取列表位置?

这将允许我重新创建按钮的实际xpath,看起来像这个//*[@id="content"]/div/div/div/div/ul/li[3]/div[1]/div[2]/div/button[1]

我尝试了一些变化,但它总是返回null。

这是我最近的试用版

var item 
=  driver.FindElement(By.XPath($"//span[text()='{environment}']/ancestor::li"));
            var id = item.GetAttribute("li").IndexOf("li");

HTML看起来像这样 - enter image description here

突出显示的行是搜索词'{environment}'(在此示例中启用QA)并且我尝试单击的按钮位于下方。

c# html selenium xpath
1个回答
1
投票

试试这个例子:

List<WebElement> th = table.FindElements(By.tagName("li"));
int listsize = th.size();
for(int i=0;i<listsize;i++)
{
    String listtext = th.get(i).getText();
    if(listtext.equals("Environment"))
    {
       return i;
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.