我需要使用 css 选择器迭代 table

I need to iterate table using css selectors

我正在尝试使用 selenium webdriver 自动化页面。该页面包含具有以下 xpath 的 table。

在下面找到一个工作正常的示例 xpath 验证。 我正在通过 div 对其进行迭代,因为行被视为 div,在该行下将有一个 table,其中包含所有提到的行。

table = common.getObjectByXpath("html/body/div[4]/div[4]/div[1]/div/div/div[3]/div/div[2]/div/div/div/div");
rows = table.findElements(By.tagName("div"));

    for(int i=1;i<=rows.size();i++){
        if(driver.findElement(By.xpath("html/body/div[4]/div[4]/div[1]/div/div/div[3]/div/div[2]/div/div/div/div/div["+i+"]/table/tbody/tr/td[5]/span").getText().equals("endnode 11.1"))){
            System.out.println(" print Something");
        }
    }

它与 xpath 一起工作正常。但我想用 css 选择器来做。我附上 table 的示例格式。 在下图中,每个 div 被视为一行,在其下您将看到一个 table,其中包含列条目。

您使用的 xpath 非常脆弱,因为它从 html 元素开始并且在很大程度上取决于页面的 HTML 结构。不用说 - 它很大,可读性差且不易理解。

相反 依赖于元素属性 - 类 或 ids。例如:

div#dojox_grid__View_11 div.dojoxGridContent div.dojoxGridRow