点击没有ID的提交密钥?

时间:2012-06-06 19:08:01

标签: ruby selenium webdriver

我正在尝试测试我的代码,并且有一个我必须单击的提交按钮,但是此提交按钮获取动态ID名称。如何在不使用ID的情况下使用我的selenium脚本单击此键。

<td>
  <button type="submit" value="Allow All" class="btn btnC bglb mfss touchable" 
   id="xhp647364382646" role="button" data-meta="0_3" 
   data-sigil="extra-perms-button blocking-touchable"> Allow All </button>
</td>

2 个答案:

答案 0 :(得分:2)

WebElement有提交方法。如果你可以获得表单中的webelement,那么你可以调用webelement.submit()。这是在JAVA。你应该在ruby中有类似的东西

  

void submit()

     

如果此当前元素是表单或其中的元素   一个表单,然后这将提交给远程服务器。如果这   导致当前页面发生变化,然后此方法将阻塞直到   新页面已加载。抛出:NoSuchElementException - 如果给定   元素不在表单中

答案 1 :(得分:0)

我不确定您的所有代码是什么样的以及其他提交按钮的位置,但如果有2个提交按钮,则可以尝试

buttons = browser.find_elements_by_css_selector("button[type='submit']")

或类似的东西,将返回所有提交按钮。注意elements在函数名称中是复数,还有一个是find_element_by_css_selector(未按指数化)。然后,您可以使用

访问所需的按钮

buttons[0]

然后你可以通过

提交

buttons[0].click()