Set capability on already running selenium webdriver

前端 未结 2 702
野趣味
野趣味 2020-12-03 22:33

In selenium test step (like a button click) i want to prevent the selenium waiting for page finish loading. I cant throw the load Exception because then i cant work with the

相关标签:
2条回答
  • 2020-12-03 23:30

    Capabilities are no longer editable once the browser is launched. One way to temporary disable the waiting is to implement your own get with a script injection.

    Something like this:

    // 
    // loads the page and stops the loading without exception after 2 sec if 
    // the page is still loading.
    //
    
    load(driver, "https://httpbin.org/delay/10", 2000); 
    
    public static void load(WebDriver driver, String url, int timeout) {
      ((JavascriptExecutor)driver).executeScript(
        "var url = arguments[0], timeout = arguments[1];"
        "window.setTimeout(function(){window.location.href = url}, 1);" +
        "var timer = window.setTimeout(window.stop, timeout);" +
        "window.onload = function(){window.clearTimeout(timer)}; "
        , url, timeout);
    }
    
    0 讨论(0)
  • 2020-12-03 23:38

    As of the current implementation of Selenium once we configure the WebDriver instance with our intended configuration through DesiredCapabilities class and initialize the WebDriver session to open a Browser, we cannot change the capabilities runtime.

    It is worth to mention, somehow if you are able to retrieve the runtime capabilities still you won't be able to change them back.

    So, in-order to make a change in the pageLoadStrategy you have to initiate a new WebDriver session.

    Here is @JimEvans clear and concise answer (as of Oct 24 '13 at 13:02) related to proxy settings capability:

    When you set a proxy for any given driver, it is set only at the time WebDriver session is created; it cannot be changed at runtime. Even if you get the capabilities of the created session, you won't be able to change it. So the answer is, no, you must start a new session if you want to use different proxy settings.

    0 讨论(0)
提交回复
热议问题