JavascriptExecutor: Невозможно прочитать свойство 'removeAttribute' с нулевым значением - PullRequest
0 голосов
/ 06 мая 2018

Я использую Javascript executor для удаления атрибута readonly, но он выдает ошибку. Cannot read property 'removeAttribute' of null.

Я видел разные посты, где люди подтверждают, что после удаления AdBlock из Chrome все заработало. Я не знаю, что такое AdBlock и как его удалить из Chrome Binary во время выполнения, поэтому я попробовал Firefox (драйвер Gecko), но он также выдает ту же ошибку.

Код:

driver.get("http://jsfiddle.net/343Rb/");
runJS().executeScript("document.getElementById('myInput').removeAttribute('readonly')");

Браузеры, которые я пробовал: Последняя версия Chrome Binary, Firefox (последняя версия GeckoDriver) для Windows 7

Ссылки, через которые я прошел:

  1. Ошибка типа: невозможно прочитать свойство «removeAttribute» со значением NULL
  2. Невозможно прочитать свойство 'removeAttribute' со значением null: не удается найти его источник
  3. Невозможно прочитать свойство * 0 * из null

Несколько постов выше основаны исключительно на JS, поэтому я считаю, что они не отвечают мне.

Я использую Selenium 3.0, Windows 7, Firefox, Chrome, Java, Testng

1 Ответ

0 голосов
/ 06 мая 2018

Проблема в том, что нужный элемент находится внутри <iframe>. Вам нужно переключиться на него, прежде чем запрашивать ваш элемент:

driver.switchTo().frame('result');

Или:

driver.switchTo().frame(driver.findElement(By.name('result')));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...