0

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

2 回答 2

2

WebElement 有一个提交方法。如果您可以获取表单内的 webelement,那么您可以调用 webelement.submit()。这是在 JAVA 中。你应该在红宝石中有类似的东西

无效提交()

如果这个当前元素是一个表单,或者是表单中的一个元素,那么这将被提交到远程服务器。如果这导致当前页面发生更改,则此方法将阻塞,直到加载新页面。抛出:NoSuchElementException - 如果给定元素不在表单内

于 2012-06-06T19:15:03.777 回答
0

我不确定您的所有代码是什么样的以及另一个提交按钮在哪里,但如果有 2 个提交按钮,您可以尝试这样做

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

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

buttons[0]

那么你可以提交

buttons[0].click()

于 2012-06-06T21:14:21.827 回答