我使用了这段代码:
https://stackoverflow.com/a/16209027/1063093
在我的情况下,我想选择字词编辑在href中的链接。
IWebElement link = driver.FindElementByCssSelector("[href*='edit']");
如果我没记错的话,*=
检查href是否包含单词edit
问题是,当我运行此行时,我收到以下错误:
但链接确实存在:
我不知道运行时的完整href。因此,我必须找到一种方法使其灵活,只需查找单词编辑。 我显然做错了什么,但我找不到什么。有人可以帮我这个。
答案 0 :(得分:5)
它会区分大小写:
IWebElement link = driver.FindElementByCssSelector("[href*='Edit']");
(大写'E')
感谢MrTi指出,实际上,您可以更进一步:
IWebElement link = driver.FindElementByCssSelector("a[href^='/Users/Edit/']");
这将转化为“以 /Users/Edit
开头的锚元素 - 假设您的链接始终以此开头,显然,这将是一个更可靠的选择器。
你指出你只能找到“编辑”这个词,所以上面的可能对你来说不是太大,但需要考虑的事情。仅仅寻找“编辑”并不是太大 - >如果页面上还有其他链接也包含它,该怎么办?