本人在學習selenium2java的期間,遇到了網頁中使用iframe內嵌頁面的問題,查看了相關資料,終於成功了,分享如下:
//進入廣告配置
findElementByXpathAndClick(driver, ".//*[@id='certclient-01-02']/span");
findElementByXpathAndClick(driver, ".//*[@id='certclient-01-02-05']");
sleep(2);
//切換iframe
driver.switchTo().frame(findElementByXpath(driver, ".//*[@id='gdca-main-contents']/li[2]/iframe"));
//點擊刪除
findElementByXpathAndClick(driver, ".//*[@id='ctTsAdvertisement']/tbody/tr[1]/td[5]/button[3]");
sleep(1);
//切換到原來的表單
driver.switchTo().defaultContent();
//點擊刪除
findElementByXpathAndClick(driver, "html/body/div[7]/div/div/div[2]/button[2]");
// clickByJs(driver, findElementByXpath(driver, "html/body/div[7]/div/div/div[2]/button[2]"));
其中最後有一個彈框,一直無法定位,後來發現原來已經不再當前iframe中,費了不少時間才發現問題的源頭。