Ruby 如何将滑块拖到末尾并验证文本框的值是否为20
以下是html代码片段:Ruby 如何将滑块拖到末尾并验证文本框的值是否为20,ruby,selenium,selenium-webdriver,drag-and-drop,Ruby,Selenium,Selenium Webdriver,Drag And Drop,以下是html代码片段: <html><head><title>Javascript Slider Control - Example</title> <link rel="stylesheet" type="text/css" href="example_files/slider.css"> <script type="text/javascript" src="example_files/addanevent.js"&g
<html><head><title>Javascript Slider Control - Example</title>
<link rel="stylesheet" type="text/css" href="example_files/slider.css">
<script type="text/javascript" src="example_files/addanevent.js"></script>
<script type="text/javascript" src="example_files/slider.js"></script>
<script type="text/javascript" src="example_files/slider-setup.js"></script></head><body>
Slider 1:
<div class="slider" id="slider01">
<div class="left"></div>
<div class="right"></div>
<img style="left: 207px;" src="example_files/knob.png" height="15" width="31">
</div>
Box 1:
<input id="output1">
<hr>
</body></html>
没有页面的所有代码,我无法在您的特定页面上测试它,但我在上找到了一个jQueryUI滑块示例页面。这里定义了一个滑动手柄,当我滑动它时,它工作了。从HTML中,看起来您抓取的是滑块(控件本身),而不是手柄(旋钮)。您是否试过抓住旋钮
IMG
标签并滑动它
x和y偏移以px为单位,因此120看起来是一个合理的值,但它会根据滑块的大小而变化
作为旁注,我建议当您通过id定位元素时,您可以使用find element by id而不是XPath来查找它。相比之下,用XPath查找东西非常慢,而且在定位这样的元素时也不需要
driver = Selenium::WebDriver.for :firefox
driver.get(url)
slider = driver.find_element(:xpath, "//*[@id='slider01']")
def verify_drag_drop_till_end
driver.action.drag_and_drop_by(slider,120,0).perform
sleep 1
output_box = driver.find_element(:xpath, "//*[@id='output1']")
puts output_box[:value]
end