2015-10-15 72 views
0

我在具有相同定位器的页面上有几个元素。 示例:Codeception检查具有相同定位器的几个元素

<div.test-info><a>Test1</a></div> 
<div.test-info><a>Test2</a></div> 
<div.test-info><a>Test3</a></div> 
<div.test-info><a>Test4</a></div> 

页面上可能有20个或更多元素。

在python中,我测试了这个FOR循环,它通过'findElemenets'方法抓取的元素数组运行。

我的问题是,我不知道如何与Codeception做到这一点。 我找到方法'_findElements',但它返回Facebook \ WebDriver \ Remote \ RemoteWebElement实例。

像:

Array 
    (
     [0] => Facebook\WebDriver\Remote\RemoteWebElement Object 
      (
       [executor:protected] => Facebook\WebDriver\Remote\RemoteExecuteMethod Object 
        (
         [driver:Facebook\WebDriver\Remote\RemoteExecuteMethod:private] => Facebook\WebDriver\Remote\RemoteWebDriver Object 
          (
           [executor:protected] => Facebook\WebDriver\Remote\HttpCommandExecutor Object 
            (
             [url:protected] => http://127.0.0.1:4444/wd/hub 
             [curl:protected] => Resource id #326 
           ) 

           [sessionID:protected] => 109595b5-f094-4824-ac10-fc7d6353b799 
           [mouse:protected] => 
           [keyboard:protected] => 
           [touch:protected] => 
           [executeMethod:protected] => Facebook\WebDriver\Remote\RemoteExecuteMethod Object 
    *RECURSION* 
         ) 

       ) 

       [id:protected] => 0 
       [fileDetector:protected] => Facebook\WebDriver\Remote\UselessFileDetector Object 
        (
       ) 

     ) 

     [1] => Facebook\WebDriver\Remote\RemoteWebElement Object 
      (
       [executor:protected] => Facebook\WebDriver\Remote\RemoteExecuteMethod Object 
        (
         [driver:Facebook\WebDriver\Remote\RemoteExecuteMethod:private] => Facebook\WebDriver\Remote\RemoteWebDriver Object 
          (
           [executor:protected] => Facebook\WebDriver\Remote\HttpCommandExecutor Object 
            (
             [url:protected] => http://127.0.0.1:4444/wd/hub 
             [curl:protected] => Resource id #326 
           ) 

           [sessionID:protected] => 109595b5-f094-4824-ac10-fc7d6353b799 
           [mouse:protected] => 
           [keyboard:protected] => 
           [touch:protected] => 
           [executeMethod:protected] => Facebook\WebDriver\Remote\RemoteExecuteMethod Object 
    *RECURSION* 
         ) 

       ) 

       [id:protected] => 1 
       [fileDetector:protected] => Facebook\WebDriver\Remote\UselessFileDetector Object 
        (
       ) 

     ) 

) 

我如何与这个数据进行操作,或者是有解决我的问题,另一种好办法吗?

回答

1

如果要获取div的内容,请使用grabMultiple方法,它会返回字符串数组。

$I->grabMultiple('div.test-info a')

+0

反正我不能元素进行操作。此方法仅返回文本,不完全是元素定位器或对象。但它也可以提供帮助。谢谢。 – kimandrew

相关问题