9

I am doing automated testing using Selenium WebDriver with Ruby. I need to click a button. I cannot get the button element by id or css or xpath as the button is transparent. I would like to use Tab and Enter key to press the button.

I can use Tab key to get the button as below:

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

But how do I use the Enter key on the button?

Basically I need to achieve press Tab key and then press Enter key to click the button.

I am using Selenium WebDriver @driver = Selenium::WebDriver.for :firefox

4

4 回答 4

7

在 Ruby user1316 的代码看起来像

driver.action.send_keys(elementVisible, :tab).send_keys(elementVisible, :return).perform
于 2012-04-12T05:16:45.607 回答
3

请记住摘录:

我可以使用 tab 键来获取按钮

@element.send_keys :tab

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

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

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

更新:

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

编码:

动作生成器 = 新动作(驱动程序);

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

操作 submitTheTransperentButton = builder.build();

submitTheTransperentButton.perform();

于 2012-04-06T09:03:34.060 回答
1

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

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

于 2021-06-27T02:12:29.060 回答
0

用红宝石发送ENTER:

@browser.action.send_keys("\n").perform
于 2015-11-23T04:09:11.523 回答