查找与href内容的链接

pha*_*unk 4 c# selenium selenium-chromedriver

我用过这段代码:

/sf/answers/1134631921/

就我而言,我想选择href中单词edit的链接.

IWebElement link = driver.FindElementByCssSelector("[href*='edit']");
Run Code Online (Sandbox Code Playgroud)

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

在此输入图像描述

但链接确实存在:

在此输入图像描述

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

Arr*_*ran 5

它会区分大小写:

IWebElement link = driver.FindElementByCssSelector("[href*='Edit']");
Run Code Online (Sandbox Code Playgroud)

(大写'E')

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

IWebElement link = driver.FindElementByCssSelector("a[href^='/Users/Edit/']");
Run Code Online (Sandbox Code Playgroud)

这将转化为"一个以... 开头 的锚元素/Users/Edit- 提供你的链接总是从那开始,显然,这将是一个更可靠的选择器使用.

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

  • 啊,我没有看到那一部分.我应该开始更好地阅读. (2认同)