Null, возвращаемый javaScriptExecutor - PullRequest
0 голосов
/ 05 июня 2019

Приведенный ниже код прекрасно работает на консоли, но не при передаче в виде строки в Selen Javascript Executor.Пожалуйста, помогите мне.

Попытался также обернуть весь скрипт в функцию, но это тоже не сработало.

var regex = new RegExp("^[0-9]+$"); 
$("#pane-side span[class]").filter(function () {
    return regex.test($(this).text()); 
});

null предоставлено Javascriptexecutor.

1 Ответ

0 голосов
/ 05 июня 2019

Вы должны изменить JavaScript, как показано ниже.

 var regex = new RegExp("^[0-9]+$"); 
 return regex.test(document.querySelector("#pane-side span[class]").textContent);

Запустите это из селена (питона):

print(driver.execute_script('var regex = new RegExp("^[0-9]+$"); return regex.test(document.querySelector("#pane-side span[class]").textContent);'))

Выход:

False когда интервальный текст "Hello"

True при интервале "123"

Скриншот:

enter image description here

Edit:

Пример HTML:

<html>
  <body>
    <div id="pane-side">
		<span class="someclass">123</span>
	</div>

   <div id="pane-side">
		<span class="someclass2">no number</span>
	</div>	
 </body>
</html>

Jquery: enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...