4

我使用了这个代码部分:

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

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

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

如果我没记错,*=请检查 href 是否包含单词 edit。
问题是当我运行这条线时,我收到以下错误:

在此处输入图像描述

但链接确实存在:

在此处输入图像描述

我不知道运行时的完整href。所以我必须想办法让它变得灵活,只寻找编辑这个词。我显然做错了什么,但我不知道是什么。有人可以帮我解决这个问题。

4

1 回答 1

5

它将区分大小写:

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

(大写“E”)

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

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

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

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

于 2013-10-17T16:27:42.777 回答