繁体   English   中英

C#Selenium无法通过WebDriverWait找到元素,我可以手动查看并单击它

[英]C# Selenium can't find element with WebDriverWait, i can see and click on it manually

元素im试图查找: 在这里看到元素

        WebDriverWait wait = new WebDriverWait(browser, TimeSpan.FromSeconds(60));
        wait.Until(ExpectedConditions.ElementExists(By.XPath("//use[@xlink:href='#core_mail']")));

        File.WriteAllText("html.txt", browser.PageSource);

只是超时而已。页面在60秒之前加载完毕。

svg具有默认名称空间 您必须考虑到它:

//svg:use[@xlink:href='#core_mail']

或者使用local-name()忽略它:

//*[local-name() = 'use' and @xlink:href='#core_mail']

不过,公平地说,您不必深入研究标记,您的“电子邮件”按钮在树中要高得多-看到屏幕快照中部分可见的第一个父元素-这可能是您想要的元素代替定位。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM