.net 尝试通过xlink:href属性查找元素时出现InvalidSelectorException
我试图找到这样的元素:.net 尝试通过xlink:href属性查找元素时出现InvalidSelectorException,.net,selenium,svg,xpath,css-selectors,.net,Selenium,Svg,Xpath,Css Selectors,我试图找到这样的元素: <use xlink:href="site.org/path/action#edit"></use> 我通过以下方式找到元素: Driver.FindElements(EditProfilePage.ElementsSelector)[0].Click(); 但我有一个例外: OpenQA.Selenium.InvalidSelectorException: 'invalid selector: An invalid or illegal s
<use xlink:href="site.org/path/action#edit"></use>
我通过以下方式找到元素:
Driver.FindElements(EditProfilePage.ElementsSelector)[0].Click();
但我有一个例外:
OpenQA.Selenium.InvalidSelectorException: 'invalid selector: An invalid or illegal selector was specified
(Session info: chrome=78.0.3904.87)'
问题:如何找到具有给定
xlink:href
属性的元素?在css选择器中尝试不使用@
:
public static By ElementsSelector { get; set; } = By.CssSelector(@"use[xlink:href='site.org/path/action#edit']");
public static By ElementsSelector { get; set; } = By.CssSelector("use[xlink:href='site.org/path/action#edit']");
在css选择器中尝试不使用
@
:
public static By ElementsSelector { get; set; } = By.CssSelector(@"use[xlink:href='site.org/path/action#edit']");
public static By ElementsSelector { get; set; } = By.CssSelector("use[xlink:href='site.org/path/action#edit']");
元素从SVG文档中获取节点,并将它们复制到其他地方
xlink:href 该属性将对资源的引用定义为引用。该链接的确切含义取决于使用它的每个元素的上下文 例如:
<svg viewBox="0 0 160 40" xmlns="http://www.w3.org/2000/svg">
<a xlink:href="https://developer.mozilla.org/"><text x="10" y="25">MDN Web Docs</text></a>
</svg>
元素:
//*[name()="svg"]
//*[name()="svg"]/*[name()="g"]
//*[name()="svg"]/*[name()="use"]
元素:
//*[name()="svg"]
//*[name()="svg"]/*[name()="g"]
//*[name()="svg"]/*[name()="use"]
其他注意事项:不再建议使用此功能。尽管某些浏览器可能仍然支持它,但它可能已经被删除 从相关的网络标准来看,可能正在进行中 删除,或仅出于兼容性目的保留。避免使用 如果可能的话,更新现有的代码。请注意,此功能 可随时停止工作
工具书类 您可以在以下内容中找到一些相关的详细讨论:
元素从SVG文档中获取节点,并将它们复制到其他地方
xlink:href 该属性将对资源的引用定义为引用。该链接的确切含义取决于使用它的每个元素的上下文 例如:
<svg viewBox="0 0 160 40" xmlns="http://www.w3.org/2000/svg">
<a xlink:href="https://developer.mozilla.org/"><text x="10" y="25">MDN Web Docs</text></a>
</svg>
元素:
//*[name()="svg"]
//*[name()="svg"]/*[name()="g"]
//*[name()="svg"]/*[name()="use"]
元素:
//*[name()="svg"]
//*[name()="svg"]/*[name()="g"]
//*[name()="svg"]/*[name()="use"]
其他注意事项:不再建议使用此功能。尽管某些浏览器可能仍然支持它,但它可能已经被删除 从相关的网络标准来看,可能正在进行中 删除,或仅出于兼容性目的保留。避免使用 如果可能的话,更新现有的代码。请注意,此功能 可随时停止工作
工具书类 您可以在以下内容中找到一些相关的详细讨论:
@
还是我遗漏了什么?是的,我删除了,我想不是required@yoda,它应该是EditProfilePage.element选择器
,而不是EditProfilePage.editiconselector
右侧。是打字错误吗?你刚才删除了@
还是我遗漏了什么?是的,我删除了,我不认为是required@yoda,它应该是EditProfilePage.element选择器
,而不是EditProfilePage.editiconselector
右侧。是打字错误吗?