javascript - Menggunakan kaedah klik() untuk mengklik hiperpautan dalam Java selenium adalah tidak sah dan halaman tidak boleh dibuka menggunakan window.open()
PHP中文网
PHP中文网 2017-06-05 11:08:28
0
1
1058

Menggunakan a.click(); adalah tidak sah, jelas ia akan berfungsi pada masa lain

而且就算那我获取了href 在用js打开也没反应  这是为什么呢
 ((JavascriptExecutor)driver).executeScript("window.open('"+href+"')");  
    ((JavascriptExecutor)driver).executeScript("alert('"+href+"')");  
    
    
alert能弹出

Tetapi window.open() tidak bertindak balas jika saya menaipnya terus pada konsol pada halaman web

PHP中文网
PHP中文网

认证高级PHP讲师

membalas semua(1)
習慣沉默

window.open() membuka tab baharu, anda perlu menukar pemegang. Berikut adalah dua kaedah untuk rujukan anda:

    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;
            }
        }
    }

Mengenai klik, ini mungkin kerana elemen itu tidak kelihatan secara eksplisit, atau perlu difokuskan, atau anda menggunakan Selenium secara tidak betul, tetapi disyorkan untuk mencuba js click

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!