C# NUnit测试因System.Net.Sockets.SocketException[Selenium WebDriver]而失败
我尝试在外部div中遍历3个div,然后从每个内部div的h1元素中获取文本 我的HTML如下所示:C# NUnit测试因System.Net.Sockets.SocketException[Selenium WebDriver]而失败,c#,selenium,C#,Selenium,我尝试在外部div中遍历3个div,然后从每个内部div的h1元素中获取文本 我的HTML如下所示: <div view-role="outerList"> <div class="question"> <div class="question-header"></div> <div class="question-container"> <div class="qu
<div view-role="outerList">
<div class="question">
<div class="question-header"></div>
<div class="question-container">
<div class="question-view">
<h1 class="question-title">
What is your name?
</h1>
</div>
</div>
</div>
<div class="question">
<div class="question-header"></div>
<div class="question-container">
<div class="question-view">
<h1 class="question-title">
What is your favorite color?
</h1>
</div>
</div>
</div>
<div class="question">
<div class="question-header"></div>
<div class="question-container">
<div class="question-view">
<h1 question-heading class="question-title">
How old are you?
</h1>
</div>
</div>
</div>
</div>
foreach (IWebElement question in all_questions)
{
string question_name = question.FindElement(By.CssSelector("h1.question-title")).Text;
Console.WriteLine(question_name);
}
在我的例子中,问题是每个有一类问题的div。总共有三个
NUnit失败,无任何异常
OpenQA.Selenium.NoSuchElementException : no such element
(Session info: chrome=42.0.2311.152)
(Driver info: chromedriver=2.12.301325 (962dea43ddd90e7e4224a03fa3c36a421281abb7),platform=Windows NT 6.1 SP1 x86_64)
然而,当我调试C#测试并在即时窗口中输入导致错误的行时,我能够得到实际的元素。然而,在此之前,它也打印了套接字异常
question.FindElement(By.CssSelector("h1.question-title"));
A first chance exception of type 'System.Net.Sockets.SocketException' occurred in System.dll
{OpenQA.Selenium.Remote.RemoteWebElement}
[OpenQA.Selenium.Remote.RemoteWebElement]: {OpenQA.Selenium.Remote.RemoteWebElement}
Displayed: true
Enabled: true
Location: {X = 902 Y = 390}
Selected: false
Size: {Width = 420 Height = 53}
TagName: "h1"
Text: "What is your name?"
我不明白为什么我会得到一个套接字异常,即使我实际上可以检索元素
其他信息:
以下是我的驱动程序实例:
private IWebDriver driver;
driver = new ChromeDriver();
您正在使用哪个浏览器和
Selenium
版本?我正在Chrome上运行。chromedriver=2.12.30152。如果你还需要什么,请告诉我。另外,这是针对.NET 3.5的Selenium,我不知道为什么会为这种代码获得SocketException
。可能看到chromedriver被正确实例化了。