2014-09-19 28 views
-2

我想點擊'+加爲好友'。如何點擊'+加爲好友'

browser.div(:class, "+ Add to Friends").clickbrowser.div(:text, "+ Add to Friends").click

但得到:Element is not currently visible and so may not be interacted with

<div data-friend="5004" onclick="return {'b-profileFriendsButton': {'friend': '5004' }}" class=" b-profileFriendsButton_mode_0 i-bem b-profileFriendsButton_js_inited"> 
<div class="b-profileFriendsButton__text b-profileFriendsButton__text_mode_2">Friends</div> 
<div class="b-profileFriendsButton__hover b-profileFriendsButton__hover_mode_2 b-profileFriendsButton__deleteFromFriends">– Delete From Friends</div> 
<div class="b-profileFriendsButton__text b-profileFriendsButton__text_mode_1">Friends</div> 
<div class="b-profileFriendsButton__hover b-profileFriendsButton__hover_mode_1 b-profileFriendsButton__deleteFromFriends">– Delete From Friends</div> 
<div class="b-profileFriendsButton__text b-profileFriendsButton__text_mode_0 b-profileFriendsButton__addToFriends">+ Add to Friends</div> 
<div class="b-profileFriendsButton__hover b-profileFriendsButton__hover_mode_0 b-profileFriendsButton__addToFriends">+ Add to Friends</div> 
</div> 

回答

0

沒有<DIV>標籤用的類屬性 「+加爲好友」,所以browser.div(:class, "+ Add to Friends").click不應該在所有的工作。在這種情況下使用:class定位器,你會做這樣的事情:

browser.div(:class, "b-profileFriendsButton__text b-profileFriendsButton__text_mode_0 b-profileFriendsButton__addToFriends").click 

而且有包含「+加爲好友」的文本字符串2個<DIV>標籤,所以複合定位器使用:text:index應該有助於識別正確的一個。例如:

browser.div(:text => "+ Add to Friends", :index => 0).click 

最後,請嘗試使用when_present方法等待頁面元素成爲完全啓用:

browser.div(:text => "+ Add to Friends", :index => 0).when_present.click 
+0

我試圖運行這個,但它不起作用。可能會使用Xpath? – EvgenyCarter 2014-09-20 09:44:58

0

這裏是解決方案:

 
browser.div(:class => "b-profilePage__button").click 

browser.div(:class => "b-profileFriendsButton__hover b-profileFriendsButton__hover_mode_0 b-profileFriendsButton__addToFriends").click 
0

請試試這個。 由於我們有兩個+ Add to friends。使用正則表達式和索引屬性進行單擊。

browser.div(:class=>/addToFriends/, :index=>0).click 
browser.div(:class=>/addToFriends/, :index=>1).click