C#FindElement ClassName枚举

时间:2017-05-03 16:36:42

标签: c# selenium

当您访问网站时,按钮"继续"可以有2个选项:class =" button"或者类=" btn"。如何在1个FindElement中对2个类进行一次搜索。我不知道它应该是什么样子,但是如此(示意性地)

IWebElement element18 = driver.FindElement(By.XPath("//div[contains(@class, 'button') or contains(@class, 'btn')]"));

或者更容易使用吗?

{{1}}

不行。

感谢您的关注

2 个答案:

答案 0 :(得分:1)

如果XPath不起作用,你可以这样写:

public IWebElement GetElements(params By[] searchBy)
{
    var list = new List<IWebElement>();
    foreach (var by in searchBy)
    {
        list.AddRange(driver.FindElements(by));              
    }
    return list.Count == 1 ? list[0] : null;
}

答案 1 :(得分:0)

使用CSS选择器".button, .btn"非常简单,或者如果您想要更具体,"div.button, div.btn"。逗号等同于OR运算符。