Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

WebDriverException: missing ) after argument list

javascript
webdriver
java
Теги: #<Tag:0x00007f7b68f0b190> #<Tag:0x00007f7b68f0b050> #<Tag:0x00007f7b68f0af10>

#1

Хочу сделать элемент видимым с помощью джавскрипта.

JavascriptExecutor executor = (JavascriptExecutor)driver;
        executor.executeScript("document.getElementByXPath('//button[@title='Выбор из справочника Виды Соглашений']').style.display='block';");

Возникает ошибка:

Caused by: org.openqa.selenium.WebDriverException: missing ) after argument list

Кто подскажет из-за чего она?


(Stan) #3

Одинарные кавычки внутри одинарных кавычек. Как воркэраунд, замени все одинарные кавычки внутри двойных на двойные с экранированием, что-то типа:

executor.executeScript("document.getElementByXPath(\"//button[@title=\"Выбор из справочника Виды Соглашений\"]\").style.display=\"block\";");

#4

Исправил, но теперь другая ошибка:

WebDriverException: document.getElementByXPath is not a function

(Sergey Korol) #5

Ну если вы только не изобрели свой собственный метод, то такое и должно работать. Пруф.


(rmerkushin) #6

Используйте css локаторы и jQuery, либо завилосипедьте функцию которую пытались использовать :smile:


#7

Вот так

executor.executeScript("document.querySelector(\"[title='Выбор из справочника Виды Соглашений']\").style.display=\"block\";");

И все зашибись )
спасибо!