繁体   English   中英

如何在Selenium C#中获取相同类/属性的值?

[英]How to get values of same class/properties in Selenium C#?

我目前正在自动执行测试,以比较摘要页面上的预期认可和实际认可。

我如何阅读摘要页面上显示的页面上的所有认可值。这些值可以更改,这意味着根据不同的输入可以有2-5个值。 我尝试过Xpath和CSS选择器,但是没有运气。 这是两个背书的元素属性,其余背书将具有相同的属性(明智的元素),只是值不同。

我希望能够获得页面上列出的所有认可,因此我可以将其输入到我的Excel工作表中,以与预期认可进行比较。

背书1:

         <div class="guidance smaller ng-scope" ng-repeat="end in 
          prop.Endorsements">
          <a ng-href="#c03770af-3724-4c3a-a240-e341c0d2c3ef" ng-bind-
          html="end.Name" class="ng-binding" href="#c03770af-3724-4c3a-
          a240-e341c0d2c3ef">Restricted Theft</a>
          </div>
          <a ng-href="#c03770af-3724-4c3a-a240-e341c0d2c3ef" ng-bind-
          html="end.Name" class="ng-binding" href="#c03770af-3724-4c3a-a240-
          e341c0d2c3ef">Restricted Theft</a>

背书2:

       <div class="guidance smaller ng-scope" ng-repeat="end in 
       prop.Endorsements">
       <a ng-href="#93ff9067-f64c-4879-933d-8b0a1d077e74" ng-bind-
        html="end.Name" class="ng-binding" href="#93ff9067-f64c-4879-933d-
        8b0a1d077e74">Malicious Damage Exclusion</a>
        </div>
         <a ng-href="#93ff9067-f64c-4879-933d-8b0a1d077e74" ng-bind-
         html="end.Name" class="ng-binding" href="#93ff9067-f64c-4879-933d-
         8b0a1d077e74">Malicious Damage Exclusion</a>

您需要一个XPath表达式来一次捕获所有a元素并将它们存储在列表中。

如果没有其他锚标签,则认可:

IList<IWebElement> listOfEndorsements= Driver.FindElements(By.XPath("//a"));

如果还有其他锚标记,则可以尝试:

IList<IWebElement> listOfEndorsements= Driver.FindElements(By.XPath("//div[contains(@ng-repeat,'prop.Endorsements')]/a"));

然后,您可以使用ForEach循环从IWebElements列表中提取所需的信息。

foreach (var endorsement in listOfEndorsements)
{
    var text = endorsement.Text;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM