Как этого добиться? Здесь говорится, что версия java:
WebDriver driver; // Assigned elsewhere
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("return document.title");
Но я не могу найти для этого код C #.
Как этого добиться? Здесь говорится, что версия java:
WebDriver driver; // Assigned elsewhere
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("return document.title");
Но я не могу найти для этого код C #.
Имена объектов, методов и свойств в привязках языка .NET не совсем соответствуют именам в привязках Java. Один из принципов проекта заключается в том, что каждая языковая привязка должна «казаться естественной» тем, кто умеет писать на этом языке. В C # код, который вам нужен для выполнения JavaScript, выглядит следующим образом
IWebDriver driver; // assume assigned elsewhere
IJavaScriptExecutor js = (IJavaScriptExecutor)driver;
string title = (string)js.ExecuteScript("return document.title");
Обратите внимание, что полную документацию по API WebDriver для .NET можно найти по этой ссылке .
arguments[0].click();
у меня не работают? У меня нет исключений, когда я выполняю свой код, но он не нажимает кнопку.ExecuteJavascript
не просто методdriver
?WebDriver.Support.dll
доступной через NuGet вSelenium.Support
пакете) есть метод расширения, который обрабатывает преобразование за вас и делает его похожим на драйвер, имеющийExecuteJavaScript
метод.Я предпочитаю использовать метод расширения для получения объекта скрипта:
Используется как это:
источник
Как насчет слегка упрощенной версии красивой идеи метода расширения @Morten Christiansen:
или, может быть, общая версия:
источник
пакет nuget
Selenium.Support
уже содержит метод расширения, помогающий в этом. Как только он будет включен, один лайнер для выполнения скриптаили
источник
IJavaScriptExecutor
и дает лучшее сообщение об исключении, если тип возвращаемого значения равен нулю, тогда как он не должен быть или не может быть приведен к желаемому типу возврата.Driver
? VS не может этого распознатьВы также можете:
источник
источник
В своем коде вы можете сделать
источник
Самый короткий код
источник