如何在Ruby编写的Webdriver测试中执行JavaScript?
是否有已知的解决方案在Webdriver,Ruby绑定中执行Eval(Javascript执行)?
相当于Java中的以下示例。
WebElement element = driver.findElement(By.id( "foo" )); String name = (String) ((JavascriptExecutor) driver).executeScript( "return arguments[0].tagName" , element)
等价的Ruby将是:
name = driver.execute_script("return arguments[0].tagName" , element)
(要获取标记名称,您也可以只调用element.tag_name)
感谢您发布此答案。 这对我帮助很大。 我一整天都在谷歌上搜索如何在Ruby中执行JavaScript代码。
@driver.execute_script("arguments[0].scrollIntoView(true);", element )
通过这样做,我能够在点击事件之前滚动到特定元素。 这可能会对其他人有所帮助。
我不得不使用JavaScript替代品,因为出于某种原因,这不是:为我工作element.location_once_scrolled_into_view
谢谢。