一尘不染

selenium脚本

selenium

我想使用selenium脚本逐个单击网页上的一堆链接,每次单击都会刷新页面。但是selenium不支持像:visited这样的css伪类,因此我无法将已经单击的伪类与下一步要单击的伪类区分开。有办法解决我的问题吗?

这是我的代码:http :
//pastebin.com/z0uRTHHp


阅读 267

收藏
2020-06-26

共1个答案

一尘不染

使用Selenium IDE解决的新答案:

注意: 您需要从https://addons.mozilla.org/en-
US/firefox/addon/85794/安装Flow
Control插件(或使用http://51elliot.blogspot.com的用户扩展名)/2008/02/selenium-ide-
goto.html

<tr>
  <td>storeXpathCount</td>
  <td>//body/descendant::a</td>
  <td>linkCount</td>
</tr>
<tr>
  <td>store</td>
  <td>1</td>
  <td>link</td>
</tr>
<tr>
  <td>label</td>
  <td>checkLink</td>
  <td></td>
</tr>
<tr>
  <td>echo</td>
  <td>checking link ${link} of ${linkCount}</td>
  <td></td>
</tr>
<tr>
  <td>clickAndWait</td>
  <td>//body/descendant::a[${link}]</td>
  <td></td>
</tr>
<!-- ADD YOUR CHECKS HERE -->
<tr>
  <td>goBackAndWait</td>
  <td></td>
  <td></td>
</tr>
<tr>
  <td>while</td>
  <td>storedVars['link'] &lt;= storedVars['linkCount']</td>
  <td></td>
</tr>
<tr>
  <td>storeEval</td>
  <td>storedVars['link'] = ${link} + 1;</td>
  <td></td>
</tr>
<tr>
  <td>gotolabel</td>
  <td>checkLink</td>
  <td></td>
</tr>
<tr>
  <td>endWhile</td>
  <td></td>
  <td></td>
</tr>
2020-06-26