【发布时间】:2019-10-02 02:29:15
【问题描述】:
我可以在普通 Chrome 窗口中使用 Chrome 开发工具中的控制台来调试 xpath,例如 $x("//div") 来调试 xpath。 但是当 Selenium-Chrome-Driver 在 C# SpecFlow 中生成一个 Chrome 窗口时,在这个 Chrome 窗口中,我无法在控制台中通过输入 $x("//div") 调试 xpath,控制台报错:
$x("//div") VM1819:1 未捕获的类型错误:$x 不是函数 在:1:1
已经尝试过以下代码来开启某些 ChromeOptions,但遇到了同样的问题。
ChromeOptions options = new ChromeOptions();
string user_data_dir = settings.SelectSingleNode("//LoginEmail/ChromeUserDataDir").InnerText;
user_data_dir = String.Format(@"user-data-dir={0}", user_data_dir);
options.AddArgument(user_data_dir);
options.AddArgument(@"--enable-devtools-experiments");
options.AddArgument(@"--auto-open-devtools-for-tabs");
webDriver = new ChromeDriver(options);
【问题讨论】:
-
对不起,我弄错了。在访问 gmail 以外网站的普通 Chrome 窗口中,我可以使用 Chrome 开发工具中的控制台来调试 xpath,在访问 gmail 的 Chrome 窗口中,我无法使用控制台来调试 xpath,错误消息:Uncaught TypeError: $x is not a :1:1 处的函数;似乎gmail网站禁用了控制台功能!但它如何做到这一点,并且可以重新启用控制台?
标签: selenium selenium-chromedriver specflow