Watir :: Browser#execute_script和“Element不再有效”

时间:2016-08-25 16:59:04

标签: javascript ruby selenium-webdriver internet-explorer-11 watir-webdriver

我正在为Internet Explorer中的我们网站编写一些自动化(它必须是IE:<)并且我遇到了一些execute_script的问题。我需要移动200px的垂直分割条,这样它就不会将某些元素移出页面,使它们无法点击。为此,我想我会使用Watir::Browser#execute_script功能。我们的想法是将样式标记更改为正确的坐标。不幸的是,由于“元素不再有效”错误,我无法使其工作。以下是我尝试的两种情况及其各自的错误。

首先,我尝试通过javascript脚本获取样式属性(我需要更改的属性)。

script = <<-JS
  return arguments[0].style
JS

browser.execute_script(script, aw.watir.div(class: 'x-vsplitbar'))

这给了我Uncaught exception: Element is no longer valid

我也尝试过改变元素的标签。

element = aw.watir.div(class: 'x-vsplitbar')
style = element.style.gsub('200', '400')
script = "return arguments[0].style = '#{style}'"
browser.execute_script(script, element)

这只是给了我一个甜蜜的错误JavaScript error (Selenium::WebDriver::Error::JavascriptError)

此示例中的脚本出现在:

return arguments[0].style = 'HEIGHT: 897px; WIDTH: 5px; POSITION: absolute; LEFT: 400px; TOP: 50px'

我不确定我在这里做错了什么,我跟着this指南。

另一个解决方案是使用Watir模拟所需的拖动动作,但我无法弄清楚如何向右拖动条形。

0 个答案:

没有答案