按TAB键,然后使用Ruby在Selenium WebDriver中输入ENTER键

时间:2012-04-06 08:24:18

标签: ruby tabs selenium-webdriver keypress enter

我正在使用Selenium WebDriver和Ruby进行自动化测试。我需要点击一个按钮。由于按钮是透明的,我无法通过id或css或xpath获取按钮元素。我想使用Tab键和Enter键按下按钮。

我可以使用Tab键获取如下按钮:

@element.send_keys :tab
@element --> any javascript element visible in the browser

但是如何使用按钮上的Enter键?

基本上我需要按Tab键然后按Enter键点击按钮。

我正在使用Selenium WebDriver @driver = Selenium::WebDriver.for :firefox

4 个答案:

答案 0 :(得分:6)

在Ruby中,user1316的代码类似于

driver.action.send_keys(elementVisible, :tab).send_keys(elementVisible, :return).perform

答案 1 :(得分:2)

记住摘录:

  

我可以使用Tab键将按钮设为

     

@ element.send_keys:tab

     

@element - >任何可见的javascript元素   浏览器

     

但是如何使用按钮上的回车键?

要使用按钮上的回车键,您可以尝试使用Ruby here提供的解决方案之一。这基本上是关于发送:return值而不是:enter值,即@element.send_keys :return和一些其他信息。

<强>更新:

我可以在Java中提供一些代码,它们尝试使用提供的信息here在概念上实现问题。您可以尝试翻译相应的Ruby Selenium API。

守则:

  

Actions builder = new Actions(driver);

     

builder.sendKeys(elementVisible,Keys.TAB).sendKeys(Keys.RETURN);

     

动作submitTheTransperentButton = builder.build();

     

submitTheTransperentButton.perform();

答案 2 :(得分:0)

在ruby中发送ENTER:

@browser.action.send_keys("\n").perform

答案 3 :(得分:0)

使用Selenium::WebDriver::Keys::KEYS[:tab]

参考:https://www.rubydoc.info/gems/selenium-webdriver/Selenium/WebDriver/Keys