我正在为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模拟所需的拖动动作,但我无法弄清楚如何向右拖动条形。