2014-06-12 64 views
0

使用硒/ C#选择跨度类元件

我有其中在用户登录(jonpark2),一旦用户已经这样做了他们的用户名存储在跨度类的文本的自动测试的情况下,我需要选择这个元素,然后验证它的断言。

我有下面的尝试和选择这样的:

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 

任何人都可以指出我出错的地方吗?

+0

尝试从父元素检测跨度... – user1853128

回答

0

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

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

再取文本:

var textInSpan = spanElement.Text

+0

我已经试过这一点,但是这会返回一个错误,元素应该是选择但跨度。 – user3451887

+0

我认为SelectElement是