我試圖通過使用此代碼在其中將按照參數文本(buttonName)單擊該按鈕的網頁上查找按鈕(預覽/編輯)。使用Xpath查找隱藏/禁用元素
頁面的行爲{當頁面加載時,它顯示你'編輯'按鈕。如果你點擊修改,然後它顯示「預覽」按鈕,反之亦然}
WebBrowserElement parentElement = waitForElement(By.xpath("//div[@class='serviceHeaderInner']"));
String s = parentElement.toString();
if (s.contains(buttonName) && (parentElement.waitForElement(By.xpath(".//a[.='" + buttonName + "']"))).isDisplayed()) {
WebBrowserElement buttonElement = parentElement.waitForElement(By.xpath(".//a[.='" + buttonName + "']"));
buttonElement.click();
} else {
debugPrintln(" -> Invalid buttonName '"+ buttonName +"'");
}
在測試情況下,我試圖通過,
「預覽」
「預覽」
「編輯」
「編輯」
由於加載網頁時,會出現'編輯'按鈕並在測試用例中兩次傳遞'預覽'參數。它直接轉到其他等。另外,傳遞'編輯'參數也會轉到else部分。我猜這個「如果」條件有問題。但是,爲了使更多的活力「應該檢查其中包含‘禁用’文本ACC類快照,使這一問題能夠在第一點防止
我編輯了這個問題,希望它有幫助。謝謝。 – Prago
這樣做更有意義。 聲明buttonName在哪裏?在這種情況下,它似乎永遠不會包含buttonName,因爲它只是指向一個div元素,並不會在意它是什麼。 –
我試圖把條件放在if塊中,是否parentElement獲取一些文本並試圖轉換成字符串,並查找它是否包含文本,因爲buttonName被傳遞。 除此之外,試圖找出是否顯示該按鈕。 buttonName在if塊內聲明。 – Prago