亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Java selenium 中使用click()方法點擊超鏈接無效 用window.open()

Java selenium 中使用click()方法點擊超鏈接無效 用window.open()

慕桂英4014372 2018-11-24 19:32:06
用 a.click(); 無效 明明其他時候都可以的而且就算那我獲取了href 在用js打開也沒反應  這是為什么呢 ((JavascriptExecutor)driver).executeScript("window.open('"+href+"')");      ((JavascriptExecutor)driver).executeScript("alert('"+href+"')");          alert能彈出但是window.open()就沒反應 在網頁中控制臺直接敲都好使
查看完整描述

1 回答

?
守候你守候我

TA貢獻1802條經驗 獲得超10個贊

window.open()打開的是新標簽,你需要切換handles。給你兩個方法參考:

    public static void changeWindow(WebDriver driver){

        // 獲取當前頁面句柄

        String handle = driver.getWindowHandle();

        // 獲取所有頁面的句柄,并循環判斷不是當前的句柄,就做選取switchTo()

        for (String handles : driver.getWindowHandles()) {

            if (handles.equals(handle))

                continue;

            driver.switchTo().window(handles);

        }

    }

    public static void changeWindowTo(WebDriver driver,String handle){

        for (String tmp : driver.getWindowHandles()) {

            if (tmp.equals(handle)){

                driver.switchTo().window(handle);

                break;

            }

        }

    }

至于click不了,可能是因為那個元素不顯式可見,或者需要聚焦,或你用Selenium操作不當,不過建議可以嘗試js click

查看完整回答
反對 回復 2018-12-18
  • 1 回答
  • 0 關注
  • 797 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號