C# 量角器网。缺少一些定位器

C# 量角器网。缺少一些定位器,c#,selenium-webdriver,protractor-net,C#,Selenium Webdriver,Protractor Net,我使用Visual Studio 2015作为我的IDE和 我在我的项目中安装了量角器(版本0.10.2)。 在我下面的代码中 [TestMethod] 公共无效登录() { IWebDriver驱动程序=新的ChromeDriver(); var ngDriver=新的NgWebDriver(驱动程序); ngDriver.Url=”https://weather.com"; ngDriver.FindElement(By.ClassName(“用户登录”))。单击(); 现在,我想使用but

我使用Visual Studio 2015作为我的IDE和 我在我的项目中安装了量角器(版本0.10.2)。 在我下面的代码中
[TestMethod]
公共无效登录()
{
IWebDriver驱动程序=新的ChromeDriver();
var ngDriver=新的NgWebDriver(驱动程序); ngDriver.Url=”https://weather.com"; ngDriver.FindElement(By.ClassName(“用户登录”))。单击();
现在,我想使用buttonText定位器定位“登录”按钮。 但是,当我尝试
ngDriver.FindElement(NgBy.)
时,NgBy之后只显示以下选项: 结合 等于, 严格的约束, 精密中继器, 模型 参考平等, 中继器, 选择π

当我用WebStorm和Javascript尝试这个时, 我能够找到并使用按钮,如下所示 元素(by.buttonText('登录'))。单击()

为什么NgBy后面不出现ButtonText之类的东西

即使在中,他也在使用Ngby.Input(),而我在列表中没有。为什么我缺少所有这些定位器


我发现量角器下的NgBy类仅提供以下内容:

所以,也许量角器网络不提供NgBy.ButtonText()?
但这对我来说毫无意义。我认为我仍然在做错事!

请参阅此请求的评论:

您是对的,在“主”量角器网络分叉(由bbaia维护)中,与原始量角器项目相比,缺少一些NGBY

选项1

您通常可以使用普通的.Net WebDriver By(例如XPath或CssSelector)来定位元素:

你也会发现这很有价值-

选项2

您还可以使用以下内容编写自己的实现

driver.FindElements(按.TagName(“按钮”))。其中(e=>e.Text.Trim()==“Text”).FirstOrDefault();
注意,在许多情况下,这比使用XPath慢得多

选项3

如果因为您正在移植已经在使用这些方法的代码,所以拥有这些方法对您来说很重要,那么您可以尝试sergueik fork,它确实有缺少的方法:


请注意,这是在主分叉的后面-

讨论并没有解释缺少的NGBY。正如JP-3在其最后评论中提到的,这些方法是有问题的,IMO决定不将它们包括在.Net端口中是有问题的。谢谢。我知道有点晚了。:)