查找与href内容的链接

时间:2013-10-17 16:23:46

标签: c# selenium selenium-chromedriver

我使用了这段代码:

https://stackoverflow.com/a/16209027/1063093

在我的情况下,我想选择字词编辑在href中的链接

IWebElement link = driver.FindElementByCssSelector("[href*='edit']");

如果我没记错的话,*=检查href是否包含单词edit 问题是,当我运行此行时,我收到以下错误:

  

enter image description here

但链接确实存在:

  

enter image description here

我不知道运行时的完整href。因此,我必须找到一种方法使其灵活,只需查找单词编辑。 我显然做错了什么,但我找不到什么。有人可以帮我这个。

1 个答案:

答案 0 :(得分:5)

它会区分大小写:

IWebElement link = driver.FindElementByCssSelector("[href*='Edit']");

(大写'E')

感谢MrTi指出,实际上,您可以更进一步:

IWebElement link = driver.FindElementByCssSelector("a[href^='/Users/Edit/']");

这将转化为“ /Users/Edit开头的锚元素 - 假设您的链接始终以此开头,显然,这将是一个更可靠的选择器。

你指出你只能找到“编辑”这个词,所以上面的可能对你来说不是太大,但需要考虑的事情。仅仅寻找“编辑”并不是太大 - >如果页面上还有其他链接也包含它,该怎么办?