在Selenium IDE中单击多个链接

时间:2014-02-25 00:39:57

标签: html selenium xpath selenium-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>

1 个答案:

答案 0 :(得分:0)

我没有使用Selenium ide,但是我使用了Selenium Webdriver for python类似

您只需要通过 css选择器找到您的元素,特别是结构选择器;如果你不得不深入研究没有id /类的标记,那么这是最简单的方法

CSS具有后代选择器和伪元素选择器,允许您仅根据它们在DOM中的位置来定位特定元素,而无需id或类

你可以使用:nth-of-type() psuedo元素,该元素根据你传递给它的数字来定位该元素的特定事件

例如在普通的css中:

一:第n的式(1)

会查看正文并选择其中第一个类型的a。如果您使用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)")

您可以使用它来定位第1,第2,第3等元素。如果您需要根据特定属性值

定位元素,也可以使用css属性选择器
ff.find_element_by_css_selector("a[href='/account/54351-wews']")
祝你好运。 cholla cholla hee haw