Как выполнить JavaScript в Ruby написанном тесте Webdriver? - PullRequest
9 голосов
/ 27 сентября 2011

Есть ли известное решение для выполнения Eval (выполнение Javascript) в привязках Webdriver, Ruby?

Эквивалент следующего примера на Java.

 WebElement element = driver.findElement(By.id( "foo" ));
 String name = (String) ((JavascriptExecutor) driver).executeScript(
 "return arguments[0].tagName" , element)

Ответы [ 2 ]

17 голосов
/ 27 сентября 2011

Эквивалентный Ruby будет:

 name = driver.execute_script("return arguments[0].tagName" , element)

(чтобы получить имя тега, вы также можете просто вызвать element.tag_name)

2 голосов
/ 14 июля 2017

Спасибо за публикацию этого ответа.Это мне очень помогло.Я весь день гуглил, чтобы понять, как выполнить код JavaScript в Ruby.

@driver.execute_script("arguments[0].scrollIntoView(true);", element )

Таким образом, я смог прокрутить до определенного элемента до события click.Это может немного помочь другим.

Мне пришлось использовать альтернативу JavaScript, потому что по какой-то причине это было не так: работа для меня element.location_once_scrolled_into_view

Спасибо.

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