我正在尝试通过单击第一个元素来测试表中的选择乘法行,然后使用SHIFT单击最后一个元素。但到目前为止没有运气..
我知道Selenium有以下内容来调用SHIFT键:
from selenium.webdriver.common.keys import Keys
element.send_keys(Keys.SHIFT)
如何使用Capybara实现相同的预期行为?
答案 0 :(得分:1)
更新使用现代版本的Capybara你应该能够做到
last_element.click(:shift)
https://www.rubydoc.info/github/jnicklas/capybara/Capybara/Node/Element#click-instance_method
=============================================
在Capybara没有交叉驱动方式可以做到这一点但是当你使用selenium驱动程序时你可以做到
page.driver.browser.action.key_down(:shift).click(last_element.native).key_up(:shift).perform
*注意我还没有测试过那些确切的代码,所以可能存在拼写错误,但它应该关闭
答案 1 :(得分:0)
page.driver.browser.action.key_down(:shift).perform
为您提供一个状态,在该状态下,键处于“按住”状态,然后您可以执行单击。 page.driver.browser.action.key_down(:shift).perform
然后释放密钥。正如@Thomas Walpole指出的那样,这是一个遗留问题,适用于Rails 4(在我的情况下)。在新版本的水豚中,element.click(:shift)
应该可以解决问题。