许多人建议我.onload
在脚本准备好后使用并触发回调。这对我不起作用。我正在编写一个函数,它需要一个元素,而不是稍后。这是我所拥有的:
webdriver.By.sizzle = function(selector) {
driver.executeScript("if(typeof Sizzle==='undefined'){var s=document.createElement('script');s.type='text/javascript';s.src='https://raw.github.com/jquery/sizzle/master/src/sizzle.js';document.head.appendChild(s);}");
return new webdriver.By.js("return Sizzle('"+selector.replace(/"/g,'\\"')+"')[0]");
};
我想注入Sizzle(如果还没有包含),然后返回一个HtmlElement
. 如果需要,它可以忙等待,但它必须返回一个 HtmlElement。
这里的所有答案基本上都只是说“不要这样做”,但我想不出另一种方式。
这是用于 JavaScript 的 selenium web 驱动程序的选择器。
driver.executeScript
会接受争论。我想知道我是否可以传入 awebdriver.promise
并在加载脚本时调用它......?我不知道如何“履行”承诺。