La compréhension exécuter le script async en Sélénium

J'ai été en utilisant selenium (avec liaisons python et à travers rapporteur surtout) pour un assez long temps, et à chaque fois que je nécessaire à l'exécution d'un code javascript, j'ai utilisé execute_script() méthode. Par exemple, pour faire défiler la page (python):

driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")

Ou, pour infini défilement à l'intérieur d'un autre élément (rapporteur):

var div = element(by.css('div.table-scroll'));
var lastRow = element(by.css('table#myid tr:last-of-type'));

browser.executeScript("return arguments[0].offsetTop;", lastRow.getWebElement()).then(function (offset) {
    browser.executeScript('arguments[0].scrollTop = arguments[1];', div.getWebElement(), offset).then(function() {
        // assertions

    });
});

Ou, pour l'obtention d'un dictionnaire de tous les attributs de l'élément (python):

driver.execute_script('var items = {}; for (index = 0; index < arguments[0].attributes.length; ++index) { items[arguments[0].attributes[index].name] = arguments[0].attributes[index].value }; return items;', element)

Mais, WebDriver API a également execute_async_script() que je n'ai personnellement pas utilisé.

Ce cas d'utilisation couvre-t-elle? Quand dois-je utiliser execute_async_script() au lieu de l'ordinaire execute_script()?

La question est de sélénium spécifiques, mais indépendant de la langue.

InformationsquelleAutor alecxe | 2015-01-20