【问题标题】:Click at link by address template按地址模板点击链接
【发布时间】:2011-02-21 07:59:28
【问题描述】:

我正在使用Selenium 进行一些工作:脚本应该点击链接,然后点击它自己的地址。比如有一个方法:clickAndWait。我必须通过它链接标题。但是在我的页面上,这个标题发生了变化,所以我必须传递地址才能点击。

你能帮我解决这个问题吗?

附言我在 selenium 组问过这个问题,但仍然没有答案。


upd: 例如,我有这样的 html 代码:

<a href="lalala.com">Some changeable title</a>
<a href="another.com">Some changeable title</a>

还有 selenium 伪代码:

ClickAndWait('Some changeable title')

但我必须点击网站“another.com”,而不是“lalala.com”。并且链接的标题每次都会更改。只有链接地址相同。

【问题讨论】:

  • 请提供更多信息。您的 HTML 的 sn-p 可能会有所帮助。

标签: html dom selenium click


【解决方案1】:

您可以使用以下定位器之一:

//use XPath to match links with full href value
selenium.clickAndWait("//a[@href='another.com']");

//use XPath to match links with href values that start with string
selenium.clickAndWait("//a[starts-with(@href,'another.com')]"); //use partial href value

//use XPath to match links with href values that contain string
selenium.clickAndWait("//a[contains(@href,'another.com')]"); //use partial href value

【讨论】:

  • 请检查您的代码。应该有第二个 '[' -> ']' 否则它将不起作用。例如:("//a[contains(@href,'another.com')]");
  • 还有一个小问题:如何点击第二个源链接? (我使用你的第三个样本)。我在命令末尾尝试了类似 [2] 或 /[2] 的一些想法。这对我不起作用 =) 谢谢。
  • 试试//body/descendant::a[contains(@href,'another.com')][2]
  • 谢谢,没有更多问题了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-12-21
  • 1970-01-01
  • 1970-01-01
  • 2020-11-29
  • 1970-01-01
  • 1970-01-01
  • 2012-07-03
相关资源
最近更新 更多