![](/img/trans.png)
[英]How can I automate a google link on the page I am working on using watir-webdriver?
[英]How can I automate a slider using watir-webdriver and ruby?
我正在嘗試使用watir-webdriver和ruby自動化Jquery UI滑塊,但是沒有運氣。 我希望能夠操縱滑塊以增大或減小該值。 我到處搜索,並詢問了一些同事,但沒人能回答。 我為滑塊附加了一段HTML代碼。 任何幫助將非常感激。
URL鏈接: http : //www.whatcar.com/new-car-deals/ (價格范圍滑塊)
我還沒有為滑塊做任何編碼,因為我不知道如何去做。 如果我能走上正確的道路,那太好了。 此外,似乎HTML代碼似乎沒有顯示在我所問的問題上。
這是一個Jquery小部件,一旦單擊其中一個句柄,它就會出現(查看腳本)以響應按鍵。 句柄是鏈接對象,在一對div內,外部的ID值為“ slider-range”
您應該能夠通過browser.div(:id => 'slider-range').link(:index => n)
這些問題,其中n = 0代表左手,n = 1代表右手。
首先手動嘗試
從理論上講,您可以在右側滑塊上觸發單擊事件以獲取焦點,然后觸發一些按鍵事件以將其首先設置為最右端(結束),然后用足夠的向左箭頭將其向下移動到所需的最高值。
對左手柄重復上述操作,用Home鍵將其設置在左端,然后按向右箭頭鍵將其移動
我現在沒有時間進行進一步的實驗並開發一個確切的腳本,但是我認為您甚至可以創建兩個小函數,即使它們采用了上限和下限范圍的值,並且進行了所需的按鍵操作也可以將下限從5K到正確的數量,上限從100k向下
請注意,這件事是非常事件驅動的,它會響應(至少在玩游戲時觀看開發工具時)被鼠標懸停,鼠標按下,鼠標上移等。如果使用click不能“引起注意”控件,使其能夠響應按鍵,請嘗試使用onmousedown事件。
使用答案中的代碼,將左側滑塊移動到12K
browser.div(:id => 'slider-range').link(:index => 0).click #make sure it has focus
browser.div(:id => 'slider-range').link(:index => 0).send_keys :home #set to 5K
7.times do
browser.div(:id => 'slider-range').link(:index => 0).send_keys :arrow_right
end
這很棒。 我們只是將這些滑塊添加到我們的網站,而我的第一個念頭是“我們將如何使其自動化!?”。
我想添加一個示例,該示例將提供完整的代碼,供人們嘗試使用。 以下內容與jqueryui.com上的示例進行了交互。
require "watir-webdriver"
@browser = Watir::Browser.new :chrome
@browser.goto "http://jqueryui.com/slider/#default"
@browser.frame(:class => "demo-frame").span(:class =>"ui-slider-handle").click
@browser.frame(:class => "demo-frame").span(:class =>"ui-slider-handle").send_keys :home
puts "clicked home"
7.times do
@browser.frame(:class => "demo-frame").span(:class =>"ui-slider-handle").send_keys :arrow_right
end
為了使用Rspec和Watir-Webdriver與Page-Object gem實現此目的,我使用了:
div(:slider, id: "slider-range") #in page file
#then in spec file
browser.slider_element.input.send_keys :home
非常感謝Chuck。 我知道了 這是我使用的腳本:
@browser.link(:xpath, "/html/body/div/div[3]/div[4]/div/div/div/a").send_keys :arrow_right
仍然需要一些調整,但是我現在可以了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.