javascript - L'utilisation de la méthode click() pour cliquer sur un lien hypertexte dans Java Selenium n'est pas valide et la page ne peut pas être ouverte avec window.open()
PHP中文网
PHP中文网 2017-06-05 11:08:28
0
1
1116

L'utilisation de a.click(); n'est pas valide, cela fonctionnera évidemment à d'autres moments

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

Mais window.open() ne répond pas. Cela fonctionne si je le tape directement sur la console de la page Web

PHP中文网
PHP中文网

认证高级PHP讲师

répondre à tous(1)
習慣沉默

window.open() ouvre un nouvel onglet, vous devez changer de poignée. Voici deux méthodes pour votre référence :

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

Quant à l'impossibilité de cliquer, cela peut être dû au fait que l'élément n'est pas explicitement visible, ou doit être mis au point, ou que vous n'utilisez pas correctement Selenium, mais il est recommandé d'essayer js click

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal