Невозможно использовать консоль в инструментах Chrome Dev в окне Chrome, управляемом драйвером селена Chrome - PullRequest
0 голосов
/ 15 мая 2019

Я могу использовать консоль в Chrome Dev Tools в обычном окне Chrome для отладки xpath, например $ x ("// div") для отладки xpath. Но когда Selenium-Chrome-Driver создает окно Chrome в C # SpecFlow, в этом окне Chrome я не могу отладить xpath в консоли, набрав $ x ("// div"), консоль сообщила об ошибке:

$ х ( "// ДИВ") VM1819: 1 Uncaught TypeError: $ 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);

1 Ответ

0 голосов
/ 22 мая 2019

Я нашел другой способ отладки xpath в консоли инструментов dev в окне chrome, управляемой chromedriver в specflow

, который использует JavaScript:

document.evaluate(xpath, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue.outerHTML

например:

document.evaluate("//a[contains(@href, 'mail.google.com') and contains(@href,'#drafts')]/../../div[1]", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue.outerHTML
...