我是 JS 的新手,正面臨一個我找不到解決方案的問題。我正在撰寫一個腳本來使用空手道/硒自動執行“清理”程序。
設想:
- 轉到網頁并搜索特定條件。
- 在填充的結果中,獲取單個列中的所有值。然后在同一個搜索框中,搜索從列中抓取的每個值。
- 在結果中,為填充的結果單擊洗掉。
- 有些行會拋出例外,在這種情況下,我們想回傳并嘗試列值陣列中的下一個專案,直到所有專案都被洗掉或剩余專案都是引發例外的專案。
到目前為止我有這個:
driver.input('#searchField', ['Mobile', Key.ENTER], 200); //here I am using Karate/Selenium to enter the search criteria on the UI.
function() {
var searchResult = false;
searchResult = driver.exists('//table//tr');
var errorPage = driver.exists('#exception');
do {
var deleteCriteria = driver.scriptAll('//table//tr//td[3]', '_.innerText'); //Here I am grabbing actual values I need to search by across the entire column and putting it in array form.
for (i = 0; i < deleteCriteria.length; i ) {
driver.input('#searchField', [deleteCriteria[i], Key.ENTER], 200);
driver.click('#deleteBtn');
driver.click('#deleteNumber');
driver.delay(10000);
if (errorPage) {
driver.back();
driver.delay(10000);
driver.back();
driver.delay(10000);
} else {
continue;
}
}
} while (searchResult);
}
問題:當例外頁面確實顯示時,沒有啟動 IF 塊。該腳本無法嘗試找到要再次搜索的搜索框。請指教。
PS-我知道我的“雖然”還不正確。一旦有問題的問題得到解決,我會修復它。
uj5u.com熱心網友回復:
代碼var errorPage = driver.exists('#exception');運行一次并及時存盤當時的狀態。
如果你想知道它是否在當前時刻存在,你需要再次尋找它。
if (driver.exists('#exception')) {
...
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/494777.html
標籤:javascript
