选择Span Class元素

时间:2014-06-12 17:03:56

标签: c# html css selenium

使用Selenium / C#

我有一个自动测试用例,用户登录(jonpark2),一旦用户这样做,他们的用户名存储在span类的文本中,我需要选择这个元素,然后验证它上面的断言。

我在下面尝试选择此项:

public static void Userloggedin()
{
    var userlogedin = Driver.Instance.FindElement(By.ClassName("username"));
    var selectelement = new SelectElement(userlogedin);
    selectelement.SelectByText("JonPark2");
}

当我运行时遇到错误OpenQa.Selenium.Support.UI.unexpectedTagNameException:Element should have been select but was div.

下面的html更详细地显示了我要选择的内容:

<div class="content-wrapper"> 
  <div class="float-left">
    <div class="float-right"> 
      <section id="login">
        <p>
           <a title="Manage your account" class="username" href="Account/Manage">
             Text - Empty Text Node
               <span class="username">
                 Text - JonPark2

有谁可以指出我哪里出错了?

2 个答案:

答案 0 :(得分:0)

您可以通过XPath选择该元素:

var spanElement = Driver.Instance.FindElement(By.XPath("//span[contains(@class, 'username')]"));

然后采取文字:

var textInSpan = spanElement.Text

答案 1 :(得分:0)

您正在尝试选择不属于<select>的内容。

试试这个:

public static void Userloggedin()
{
    return (
        "JonPark2" == Driver.Instance.FindElement(By.cssSelector("section#login span.username")).Text;
    )
}