找不到元素的元素

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了找不到元素的元素相关的知识,希望对你有一定的参考价值。

在我的测试中,我需要找到一个具体的产品,然后做该产品的一些子元素一些操作。有很多产品。

这是我的第一个量角器脚本,以便和我一起承担。

var prod = element.all(by.css('singleproduct')).get(1);

singleproduct是一个指令。这是它打破了脚本的一部分:

prod.element(by.css(".product-ordering ul li")).each(function(elem) {

})  

但是,我总是element(...).each is not a function

html

<singleproduct ng-repeat="item in vm.products" item="::item" class="col-xs-12 col-sm-6 col-md-4 product_tile ng-scope ng-isolate-scope">
   <article ng-class="{'product--active': isSelected}" class="product">
      <section ng-click="toggleDetails()" class="product-content">
         <!-- some prod info --> 
      </section>
      <section>             
         <div class="product-ordering">
            <ul class="product-quantities">
               <!-- ngRepeat: option in ::priceList --> 
               <li ng-repeat="option in ::priceList" class="ng-scope">
                  <!-- this is the LI I want to catch...
               </li>
               <!-- end ngRepeat: option in ::priceList --> 
               <li ng-repeat="option in ::priceList" class="ng-scope">
                  <!-- this is the LI I want to catch...

               </li>
               <!-- end ngRepeat: option in ::priceList --> 
               <li ng-repeat="option in ::priceList" class="ng-scope">
                  <!-- this is the LI I want to catch...
               </li>
               <!-- end ngRepeat: option in ::priceList --> 
            </ul>
         </div>
      </section>
   </article>
</singleproduct>
答案

each()功能将只用数组。但prod.element(by.css(".product-ordering ul li"))将返回一个ElementFinder而不是ElementArrayFinder。您需要改用product.all()product.element()。请看下面的例子。

prod.all(by.css(".product-ordering ul li")).each(function(elem) {

}) 

以上是关于找不到元素的元素的主要内容,如果未能解决你的问题,请参考以下文章

找不到元素 Selenium Python

Python中的Selenium找不到任何元素

有时找不到元素[重复]

找不到硒元素下拉菜单python

PHPUnit + Selenium`InvalidArgumentException:找不到元素`

PHP HTML DOM Parse - 找不到附加的javascript元素