2017-12-18 269 views
0

, 我正在使用硒IDE Mozilla Firefox的用於Web自動化的腳本。 在腳本中,我正在搜索網頁上的「下一個」按鈕,並想知道它是否可用。如果是這樣,點擊它並轉到下一頁,如果沒有重新啓動腳本。 當一個頁面上會沒有下一個按鈕,我得到一個錯誤和硒IDE - StoreElementPresent - 找不到元素

「測試案例失敗」

命令我使用:

<tr> 
    <td>storeElementPresent</td> 
    <td>css=a._3a693.coreSpriteRightPaginationArrow</td> 
    <td>bool</td> 
</tr> 
<tr> 
    <td>echo</td> 
    <td>'${bool}' </td> 
    <td></td> 
</tr> 
<tr> 
    <td>gotoIf</td> 
    <td>'${bool}' == false</td> 
    <td>STARTSCRIPT</td> 
</tr> 
<tr> 
    <td>clickAndWait</td> 
    <td>css=a._3a693.coreSpriteRightPaginationArrow</td> 
    <td></td> 
</tr> 

在日誌我得到的結果:

[info] Executing: | storeElementPresent | css=a._3a693.coreSpriteRightPaginationArrow | bool | 
[info] Executing: | echo : 'true' 
[info] Executing: | gotoIf | '${bool}' == false | STARTSCRIPT | 
[info] Executing: | clickAndWait | css=a._3a693.coreSpriteRightPaginationArrow | | 
[error] Element css=a._3a693.coreSpriteRightPaginationArrow not found 
[info] Test case failed 

任何想法傢伙?

回答

0

獲得相同的CSS選擇器。進入瀏覽器並檢查「下一步」按鈕並複製此元素的xpath以唯一標識您的元素。

+0

我應該使用它來存儲嗎? 'xpath =(// a [contains(@href,'......')])[2]'這是特定頁面的唯一路徑,我怎樣才能使其通用於每個頁面? –

+0

包含功能可以使用部分文本查找元素。 所以如果屬性值動態變化,硒會發現元素和測試用例不會失敗。 – Naj

+0

生病給它一個鏡頭..我應該使用完整的xpath地址嗎? –

1

...如果它可用或不可用。如果是這樣,點擊它並轉到下一頁,如果沒有重新啓動腳本。

對於Firefox,你可以安裝Flow Control的硒IDE的Firefox,然後使用GotoIf命令做出這個決定。在Chrome上,Kantu Selenium IDE for Chrome已經內置了流控制命令。

+0

我使用gotoIf ...我也下載了關東應用程序感謝您的建議,但我似乎有導入我的HTML腳本的問題...我得到一個錯誤[錯誤]解析m .html:fromHtml:缺少baseUrl,但我似乎無法找到設置基地網址的硒命令...也不能導出到使用硒webdriver的JSON,所以我可能會寫一個應用程序從HTML轉換爲JSON與請求的格式,但我很確定這是一個更簡單的方法 - @Maurice –