2015-10-15 71 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

相關問題