使用Selenium点击操作后如何在Chrome浏览器中停止导航?

时间:2017-03-07 14:17:07

标签: javascript selenium selenium-webdriver

我必须在点击操作后立即停止浏览器加载;是否有任何解决方法...或者是否有相同的JS实现..

2 个答案:

答案 0 :(得分:0)

您可以使用javascript setTimeout setInterval 来延迟点击操作。

 <a onclick="delayLoder()">Click</a>

  function delayLoder(){
        setTimeout(function(){      
            window.location = 'https://www.google.com';
        }, 3000);
     }

答案 1 :(得分:0)

我能想到的最简单的解决方法是导航到错误页面&#39;点击后直接点击。 (即http://www.notAvalidHTTPaddress.com)。但如果这不适合用途,您可以尝试在JavaScript中使用sendkeys的等效项,以便点击&nbsp;&#39; - &gt;例如,在Chrome中停止页面加载。

在Java中:

public Keys soloKey(int key) throws AWTException  
{
      Robot r;
        try 
        {
             r = new Robot();
             r.keyPress(key);
             r.keyRelease(key); 
        }
            catch (AWTException e) {
            e.printStackTrace();}
        return null;
}

soloKey(KeyEvent.VK_ESCAPE);

在Javascript中:

var keyboardEvent = document.createEvent("KeyboardEvent");
var initMethod = typeof keyboardEvent.initKeyboardEvent !== 'undefined' ? "initKeyboardEvent" : "initKeyEvent";


keyboardEvent[initMethod](
                   "keydown", // event type : keydown, keyup, keypress
                    true, // bubbles
                    true, // cancelable
                    window, // viewArg: should be window
                    false, // ctrlKeyArg
                    false, // altKeyArg
                    false, // shiftKeyArg
                    false, // metaKeyArg
                    27, // keyCodeArg : unsigned long the virtual key code, else 0
                    0 // charCodeArgs : unsigned long the Unicode character associated with the depressed key, else 0
);
document.dispatchEvent(keyboardEvent);

javaScript答案来自这里: js-press-key

这里是keyCodes(27是ESC) js-key-codes

希望这有帮助!