我可以在gmail中勾选消息复选框的方式是什么?

时间:2016-03-08 08:39:03

标签: selenium xpath selenium-webdriver

我尝试使用selenium在gmail中选择包含特定主题的邮件。 代码:

var element = driver.FindElements(By.XPath("//tr[contains(@class,'zA yO') or contains(@class,'zA zE')]")); //select message line
foreach (var chbox in element)
{
    if (chbox.FindElement(By.XPath(//span[contains(".,'subjecttext')]")).Displayed) //Filter message line by subject text
    {
        chbox.FindElement(By.ClassName("T-Jo-auh")).Click(); //Click on checkbox
    }
    else 
    {
        continue;
    }
}

但所有邮件上的此代码勾选复选框。有人可以解释我如何点击过滤的复选框吗?

2 个答案:

答案 0 :(得分:0)

这种情况正在发生,因为您的XPath正在返回所有复选框

//tr[contains(@class,'zA yO') or contains(@class,'zA zE')]

您只需要识别相应复选框的定位器。

如果您只想单击一个复选框,则无需使用上述代码。 如果您只想点击第一个复选框,那么使用break;以便循环在第一次迭代中停止

希望它能帮到你

答案 1 :(得分:0)

找到定位器

//tr[contains(@class,'zA yO') or contains(@class,'zA zE')][./td/div/div/div/span[contains(.,'text')]]//div[@role='checkbox']