【问题标题】:Selenium click on link硒点击链接
【发布时间】:2015-04-29 02:51:56
【问题描述】:

我在 FireFox 中使用 Selenium 的 IDE 进行一些测试,我希望 Selenium 单击第二个链接 (Text2)。知道我该怎么做吗?不幸的是,我无权访问 HTML,也无法修改它。记录功能似乎没有注册点击。

代码附在下面。提前致谢!

<div class="class1">
    <div class="class2">
        <span class="class3"><a href="#" onclick="fn1();">Text1</a></span>
    </div>
</div>

<div class="class1">
    <div class="class2">
        <span class="class3"><a href="#" onclick="fn2();">Text2</a></span>
    </div>
</div>

【问题讨论】:

  • 您的示例中有两次 Text1...

标签: selenium selenium-ide


【解决方案1】:

Selenium 也支持link=Link Text 定位器。如果您知道确切的链接文本,则可以使用此定位器,但不能使用其他方式。因此,对于您上面的示例:link=text2link=View Previous Statements。 (有关其他定位器,请参阅 this sitethis site。)

【讨论】:

  • @Roddy - 在那个链接文本中应该给出什么? 所以我应该在链接文本中注销?
  • @EmmanuelAngelo.R 假设你有&lt;a href="/logout"&gt;Click to Logout&lt;/a&gt;。那么你的链接文本是Click to Logout
【解决方案2】:

你可以试试

//a[contains(text(),'text2')]     OR  //span/a[contains(text(),'text2')]


寻找相同的或其他的?

【讨论】:

  • 它没有用 - 恐怕我对 Xpath 非常不熟悉。那到底是在做什么?
  • 它将在标签a中找到text2,然后您可以单击该文本。
  • [error] locator not found: //a[contains(text(),'View Previous Statements')] Where View Previous Statements = text2
  • //a[contains(text(),'View Previous Statements'] 试试这个 1
  • 同样的错误,不幸的是。 :( [error] locator not found: //a[contains(text(),'View Previous Statements']
【解决方案3】:

请忽略此帖。 Selenium 忽略了“Value”字段,只选择了第一次出现的 span.class3。 为此表示歉意。我应该在发布之前进行更多测试。

原帖: 我有一个类似的网页,我可以使用以下 Selenium IDE 命令: 命令:点击并等待 目标:css=span.class3 值:文本1

【讨论】:

    猜你喜欢
    • 2020-01-02
    • 2020-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-04
    • 2013-09-07
    • 2016-05-17
    相关资源
    最近更新 更多