我正在尝试测试我的代码,并且有一个我必须单击的提交按钮,但是此提交按钮获取动态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>
答案 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()