2012-04-06 174 views
6

我正在使用Selenium WebDriver和Ruby進行自動化測試。我需要點擊一個按鈕。由於按鈕是透明的,我無法通過id或css或xpath獲取按鈕元素。我想用Tab和Enter鍵按下按鈕。按Tab鍵,然後在Selenium WebDriver中用ENTER鍵輸入Ruby

我可以使用Tab鍵來獲得儘可能下面的按鈕:

@ element.send_keys:標籤 @Element - >任何JavaScript元素在瀏覽器中

可見的,但我怎麼用Enter按鈕上的按鍵?

基本上我需要實現按Tab鍵然後按Enter鍵點擊按鈕。

我使用webdriver的硒= @driver硒:: WebDriver.for:火狐

請幫助我。提前致謝。

回答

2

在牢記摘錄:

我可以使用TAB鍵來獲取按鈕

@ element.send_keys:標籤

@Element - >任何JavaScript元素中可見 瀏覽器

但我如何使用按鈕上的輸入鍵?

爲了在按鈕上使用回車鍵,您可以嘗試使用Ruby here提供的解決方案之一。這基本上談論發送價值而不是:enter價值,即@element.send_keys :return和一些額外的信息。

更新:

我可以提供一些Java代碼,試圖利用概念提供here的信息來實現的問題。您可以嘗試翻譯相應的Ruby Selenium API。

的代碼:

操作構建器=新操作(驅動器);

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

Action submitTheTransperentButton = builder.build();

submitTheTransperentButton.perform();

+0

它亙古不變的幫助。我的情況是,我無法獲得按鈕元素。但我仍然需要點擊按鈕。有沒有其他更好的方法來實現這一目標?謝謝 – AJJ 2012-04-06 09:27:20

+0

我將更新早期的解決方案。希望能幫助到你。 – Ziran 2012-04-06 10:15:54

5

在Ruby user1316的代碼看起來像

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

發送紅寶石ENTER鍵:

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