в чем разница в этих строках, чтобы получить псевдоэлемент - PullRequest
0 голосов
/ 03 октября 2019

В чем разница между этими двумя опциями для получения псевдоэлемента или , как получить эти элементы , потому что одна строка содержит document.queryselector, а другая строка содержит массив элементов

JavascriptExecutor js = (JavascriptExecutor)driver;
String script = "return window.getComputedStyle(document.querySelector('#validationError'),':before').getPropertyValue('content')";
String content = (String) js.executeScript(script);

и

JavascriptExecutor js = (JavascriptExecutor) driver;
String iconUrl = (String) js.executeScript("return window.getComputedStyle(arguments[0],':before').getPropertyValue('content');", icon);

1 Ответ

0 голосов
/ 03 октября 2019

В первом утверждении вы выполняете Javascript непосредственно на веб-элементе, чтобы получить его значение :before. Во втором операторе вы находите веб-элемент с помощью WebDriver, а затем передаете элемент в качестве параметра в JavaScript для выполнения сценария для него.

Если icon и #validationError returnтот же элемент, то сценарии функционально одинаковы. Первый использует JS для поиска элемента, а второй использует Selenium для поиска элемента для последующего использования параметра.

...