t.me/atinfo_chat Telegram группа по автоматизации тестирования

WebDriverException: missing ) after argument list

Теги: #<Tag:0x00007f9afe155900> #<Tag:0x00007f9afe1556a8> #<Tag:0x00007f9afe1554a0>

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

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

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

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

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

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

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

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

WebDriverException: document.getElementByXPath is not a function

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

2 Симпатий

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

1 Симпатия

Вот так

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

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