Maison  >  Questions et réponses  >  le corps du texte

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()

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中文网2692 Il y a quelques jours1055

répondre à tous(1)je répondrai

  • 習慣沉默

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

    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

    répondre
    0
  • Annulerrépondre