如下所示的按钮大量排列。 按钮或减少它或根据日期增加。 "值"的内容只是改变。
<input type="checkbox" value="021258" name="xbutton"></input>
<input type="checkbox" value="084192" name="xbutton"></input>
<input type="checkbox" value="095842" name="xbutton"></input>
<input type="checkbox" value="096325" name="xbutton"></input>
...
...
我想操作就像检查所有这些。 我认为它可以响应各种情况,非xpath也可以。 它似乎没有点击第一个它是下面的东西。
driver.find_element(:name, "xbutton").click
答案 0 :(得分:1)
我首先在文件test.html
中保存,仅用于测试所有html部分,如下所示:
<input type="checkbox" value="021258" name="xbutton"></input>
<input type="checkbox" value="084192" name="xbutton"></input>
<input type="checkbox" value="095842" name="xbutton"></input>
<input type="checkbox" value="096325" name="xbutton"></input>
现在检查每个复选框,我编写了如下代码:
driver = Selenium::WebDriver.for :firefox
driver.navigate.to "file:///home/kirti/workspace/Ruby/test.html"
elements_to_click = driver.find_elements(:xpath, "//input[@name='xbutton']")
# below code will check only those check boxes which are not checked previously.
elements_to_click.each { |e| e.click if e.attribute('checked').nil? }
下面是截图: