Selenium C# 新手,并一路自学。当我能够验证连接到 URL 的一段文本时,我已经运行了代码和测试。我已经工作的例子: 代码
IWebElement events = driver.FindElement(By.CssSelector("[href='/events']"))
Assert.That(events.Text, Is.EqualTo("Events"));
HTML
但是,我尝试在另一个下拉菜单中访问以下文本,该菜单在每个 URL 末尾都有额外的“/”,并断言其文本为 true:
我得到以下信息,字符串为空。 错误:
Message:
Expected string length 22 but was 0. Strings differ at index 0.
Expected: "Português (Brasileiro)"
But was: <string.Empty>
-----------^
代码
IWebElement portuguêse = driver.FindElement(By.CssSelector("[href='/pt-br/']"));
Assert.That(portuguêse.Text, Is.EqualTo("Português (Brasileiro)"));
HTML
我已经确定可以选择的代码之间的唯一区别是 /pt-br/ 中 URL 末尾的额外“/”,而不是 URL /events 中。
如果有人可以指导我为没有跨度类的文本选择元素的正确方法,那就太好了!
谢谢!
科斯蒂
请尝试这个:
IWebElement events = driver.FindElement(By.CssSelector("a.dropdown-item"))
Assert.That(events.Text, Is.EqualTo("Events"));
请将 CssSelector 值更改为 a.dropdown-item