2014-09-19 21 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