2014-09-30 27 views
1

我想使用selenium webdriver在Watir webdriver中執行操作。是否有可能? 也可以在watir webdriver中使用java代碼。請幫助。 我經歷了很多論壇,並從http://jkotests.wordpress.com/2014/09/04/convert-selenium-webdriver-objects-to-watir-webdriver/,regarding瞭解了硒在watir中的用法。感謝賈斯汀KO的職位。如何將Selenium-Webdriver對象轉換爲Watir-Webdriver

+0

嗨賈斯汀感謝您的評論,肯定是有可能在的Watir使用ActionBuilder?請幫忙。 – Karish 2014-10-01 08:44:10

回答

1

您可以通過使用瀏覽器的Watir的基礎硒駕駛員直接交互訪問ActionBuilder:

browser.driver.action 
#=> Selenium::WebDriver::ActionBuilder 

許多動作方法需要一個硒​​元素作爲參數。您可以使用Watir定位元素,然後獲取底層的Selenium元素。例如:

element = browser.div 
element.wd 
#=> Selenium::WebDriver::Element 

全部放在一起,您可以執行類似的操作:

watir_element = browser.div 
browser.driver.action 
    .key_down(:shift) 
    .click(watir_element.wd) 
    .key_up(:shift) 
    .perform 
+0

謝謝Justin.You awseome.It工作正常。 – Karish 2014-10-03 18:16:44

+0

嗨賈斯汀我只是按照你的步驟,並嘗試使用下面的代碼雙擊。它在Chrome瀏覽器中工作正常,但它不工作在Firefox瀏覽器。 用於雙擊的代碼: n = browser.iframe(:id,「iframeResult」)。button(:ondblclick,「myFunction()」) browser.driver.action.double_click(n.wd).perform Error在Firefox中: irb(main):007:0> browser.driver.action.double_click(n.wd).perform Selenium :: WebDriver :: Error :: InvalidElementStateError:無法執行本機交互:無法加載本機事件組件。 – Karish 2014-10-03 18:56:35

+0

from [remote server] file:/// C:/Users/Niresh/AppData/Local/Temp/webdriver-profile20141004-4364-mo5o3r/extensions/[email protected]/components/driver_component.j s:9209: 3:在[remote server] file:/// C:/Users/Niresh/AppData/Local/Temp/webdriver-profile20141004-4364-mo5o3r/extensions/[email protected]/components/driver_component的'generateErrorForNativeEvents' 中。 j s:9253:9:從[遠程服務器]文件中的'FirefoxDriver.prototype.mouseMoveTo' file:/// C:/ Users/Niresh/AppData/Local/Temp/webdriver-profile20141004-4364-mo5o3r/extensions/[email protected]/components/command_ – Karish 2014-10-03 18:57:48