C# 选择跨类元素
使用Selenium/C 我有一个自动测试用例,用户登录jonpark2,一旦用户登录,他们的用户名就会存储在一个span类的文本中,我需要选择这个元素,然后验证它的断言 我有以下选项可以尝试并选择此选项:C# 选择跨类元素,c#,html,css,selenium,C#,Html,Css,Selenium,使用Selenium/C 我有一个自动测试用例,用户登录jonpark2,一旦用户登录,他们的用户名就会存储在一个span类的文本中,我需要选择这个元素,然后验证它的断言 我有以下选项可以尝试并选择此选项: public static void Userloggedin() { var userlogedin = Driver.Instance.FindElement(By.ClassName("username")); var selectelement = new Selec
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应该是select,但是是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
有人能指出我哪里出错了吗?您可以通过XPath选择该元素: var spanElement=Driver.Instance.FindElementBy.XPath//span[contains@class,“用户名”] 然后看文本:
var textInSpan=span元素。Text您试图选择的内容不是元素的一部分 试试这个:
public static void Userloggedin()
{
return (
"JonPark2" == Driver.Instance.FindElement(By.cssSelector("section#login span.username")).Text;
)
}
尝试从父元素检测span…我尝试了此操作,但返回了一个错误,元素本应为select,但为span。我认为SelectElement是标记的类,而不是标记的类。你应该使用一些方法,比如GetAttribute。。。您应该使用getText方法:var userlogedin=Driver.Instance.FindElementBy.XPath//span[contains@class,“用户名”];var textInSpan=userlogedin.getText;我有GetAttribute,但没有getText,是否缺少名称空间?然后尝试userlogedin.Text;,或userlogedin.GetAttributeinnerHTML;在c语言中,文本是一个属性,而不是一个方法。我不使用C: