Jak to się osiąga? Tutaj jest napisane, że wersja java to:
WebDriver driver; // Assigned elsewhere
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("return document.title");
Ale nie mogę znaleźć kodu C #, aby to zrobić.
Jak to się osiąga? Tutaj jest napisane, że wersja java to:
WebDriver driver; // Assigned elsewhere
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("return document.title");
Ale nie mogę znaleźć kodu C #, aby to zrobić.
Nazwy obiektów, metod i właściwości w powiązaniach języka .NET nie odpowiadają dokładnie tym w powiązaniach Java. Jedną z zasad projektu jest to, że każde powiązanie języka powinno być „naturalne” dla tych, którzy potrafią programować w tym języku. W języku C # kod, który chcesz wykonać do wykonywania JavaScript, jest następujący
IWebDriver driver; // assume assigned elsewhere
IJavaScriptExecutor js = (IJavaScriptExecutor)driver;
string title = (string)js.ExecuteScript("return document.title");
Należy zwrócić uwagę, że pełną dokumentację interfejsu API WebDriver dla platformy .NET można znaleźć pod tym łączem .
arguments[0].click();
nie działają dla mnie? Nie mam wyjątku, kiedy wykonuję kod, ale nie klikam przycisku.ExecuteJavascript
nie jest to tylko metodadriver
?WebDriver.Support.dll
dostępnym za pośrednictwemSelenium.Support
pakietu NuGet w pakiecie) istnieje metoda rozszerzenia, która obsługuje rzutowanie i sprawia, że wygląda na to, że sterownik maExecuteJavaScript
metodę.Wolę użyć metody rozszerzenia, aby uzyskać obiekt skryptów:
Używany w ten sposób:
źródło
Co powiesz na nieco uproszczoną wersję pomysłu na ładną metodę rozszerzenia @Morten Christiansen:
a może wersja ogólna:
źródło
pakiet NuGet
Selenium.Support
zawiera już metodę rozszerzenia, która pomaga w tym. Po dołączeniu jedna linijka do skryptu wykonawczegolub
źródło
IJavaScriptExecutor
i zapewnia lepszy komunikat o wyjątku, jeśli typ zwracany jest null, gdy nie powinien lub nie może być rzutowany na żądany typ zwracany.Driver
? VS nie może tego rozpoznaćMożesz też:
źródło
źródło
W swoim kodzie możesz to zrobić
źródło
Najkrótszy kod
źródło