Rumah  >  Soal Jawab  >  teks badan

javascript - Menggunakan kaedah klik() untuk mengklik hiperpautan dalam Java selenium adalah tidak sah dan halaman tidak boleh dibuka menggunakan window.open()

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中文网2692 hari yang lalu1054

membalas semua(1)saya akan balas

  • 習慣沉默

    習慣沉默2017-06-05 11:10:28

    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

    balas
    0
  • Batalbalas