Como isso é feito? Aqui , diz que a versão java é:
WebDriver driver; // Assigned elsewhere
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("return document.title");
Mas não consigo encontrar o código C # para fazer isso.
javascript
c#
selenium
selenium-webdriver
webdriver
JontyMC
fonte
fonte
arguments[0].click();
não está funcionando para mim? Não tenho exceção quando executo meu código, mas ele não clica no botão.ExecuteJavascript
não é apenas um método nodriver
?WebDriver.Support.dll
disponível por meio do NuGet noSelenium.Support
pacote), há um método de extensão que lida com a conversão para você e faz com que pareça que o driver tem umExecuteJavaScript
método.Eu prefiro usar um método de extensão para obter o objeto de scripts:
Usado desta forma:
fonte
Que tal uma versão ligeiramente simplificada da bela ideia do método de extensão de @Morten Christiansen:
ou talvez a versão genérica:
fonte
o pacote nuget
Selenium.Support
já contém um método de extensão para ajudar com isso. Uma vez incluído, um script de liner para executorou
fonte
IJavaScriptExecutor
e fornece uma mensagem de exceção melhor se o tipo de retorno for nulo quando não deveria ou não pode ser convertido para o tipo de retorno desejado.Driver
? VS não consegue reconhecer issoVocê também pode fazer:
fonte
fonte
Em seu código, você pode fazer
fonte
O código mais curto
fonte