在C中使用Selenium WebDriver执行JavaScript#

这是如何实现的?这里它说java版本是:

WebDriver driver; // Assigned elsewhere
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("return document.title");

但是我找不到C#代码来执行此操作。


答案 1

.NET 语言绑定中的对象、方法和属性名称与 Java 绑定中的对象、方法和属性名称并不完全对应。该项目的原则之一是,每种语言绑定都应该“感觉自然”,以便用该语言进行舒适的编码。在 C# 中,执行 JavaScript 所需的代码如下所示

IWebDriver driver; // assume assigned elsewhere
IJavaScriptExecutor js = (IJavaScriptExecutor)driver;
string title = (string)js.ExecuteScript("return document.title");

请注意,有关 .NET 的 WebDriver API 的完整文档,请访问此链接


答案 2

我更喜欢使用扩展方法来获取脚本对象:

public static IJavaScriptExecutor Scripts(this IWebDriver driver)
{
    return (IJavaScriptExecutor)driver;
}

用作:

driver.Scripts().ExecuteScript("some script");