2014-02-25 163 views
0

我是新來的硒ide,我想自動化一些網站。我希望它是這樣的。點擊Selenium IDE中的多個鏈接

點擊

Click Link 1 
do some clicking inside that link 
go back to the list of link 
Click Link 2 
do some clicking inside that link 
go back to the list of link 
Click Link 3 
and so on 

我這裏唯一的問題是我不知道它將如何單擊從頂部的第一個環節。這是網站的html。

<h5>20 seconds ago</h5> 
<ul> 
<li class="notification-posted"> 
<img height="15" alt="" src="/assets/images/icons/notification-posted.png"> 
<a href="/account/54351-wews">wews</a> 
send new 
<a href="/news/53235">post</a> **Link 1** 
</li> 
</ul> 
<h5>3 minutes ago</h5> 
<ul> 
<li class="notification-posted"> 
<img height="15" alt="" src="/assets/images/icons/notification-posted.png"> 
<a href="/account/632323-yokol">yokol</a> 
submitted a new 
<a href="/news/253129-loss">post</a> **Link 2** 
</li> 
</ul> 
<h5>4 minutes ago</h5> 
<ul> 
<h3>6 minutes ago</h3> 
<ul> 
<h5>7 minutes ago</h5> 
<ul> 
<h2>8 minutes ago</h2> 
<ul> 
<li class="notification-posted"> 
<li class="notification-posted"> 
<li class="notification-posted"> 
<li class="notification-posted"> 
<li class="notification-posted"> 
<img height="15" alt="" src="/assets/images/icons/notification-posted.png"> 
<a href="/account/153316-problem">hey</a> 
send new 
<a href="/news/25151-helloworld">post</a> **link 3** 
</li> 
</ul> 

回答

0

我沒有用Selenium IDE的,但我已經使用硒的webdriver的Python類似於

你只需要通過CSS選擇找到你的元素,特別是結構的選擇;這可能是最簡單的方法,如果你不得不挖掘很多沒有ID /類的標記

CSS有後代選擇器和僞元素選擇器,它們允許你只根據它們的位置來定位特定的元素的DOM,而不需要一個id或類

可以使用:nth-of-type()僞元件,其靶向基於傳遞到它的

例如以純的CSS數目該元素的具體發生:

a:第n種(1)

將在主體內看起來並選擇第一個類型。如果你使用2來代替它,它會針對第二次出現的錨點。

例如,在selenium.webdriver這是你如何找到你的元素:

# ff is the webdriver.Firefox() instance 

firstAnchor = ff.find_element_by_css_selector("a:nth-of-type(1)") 

secondAnchor = ff.find_element_by_css_selector("a:nth-of-type(2)") 

你可以用它來針對第一,第二,第三等元素。如果你需要根據特定屬性值定位一個元素,也有css屬性選擇器。

ff.find_element_by_css_selector("a[href='/account/54351-wews']") 

祝你好運mayne。 cholla cholla hee haw

+0

謝謝你的回答,那是webdriver的權利嗎?我的問題是:( – Junosaur

+0

如果你必須使用xpath的硒ide,你可以不指定像「// a [1]」或「//a [2]」錨?像數組一樣,它會發現第n次出現該元素,在你的情況下,它是一個錨點 –

+0

,如果鏈接處於相同的/ ul,那麼xpath將會是這樣的情況下將起作用 // div [@ id ='main']/ul [1]/li [1] [@ class ='notification-posted']/a [2] // div [@ id ='main']/ul [1]/li [2] [@ class ='notification-posted']/a [2] 它不能點擊其他/ ul中的鏈接,就像這個鏈接 // div [@ id ='main']/ul [2]/li [@ class ='notification-posted']/a [2] 無論如何,如果這是不可能在硒ide,也許我會只使用硒webdrive r我只是不知道從哪裏開始LOL非常感謝你,他非常喜歡chola他喜歡哦 – Junosaur