C# C Selenium找不到带有WebDriverWait的元素,我可以手动查看并单击它

C# C Selenium找不到带有WebDriverWait的元素,我可以手动查看并单击它,c#,google-chrome,selenium,C#,Google Chrome,Selenium,我正在尝试查找的元素: 那只会超时。。页面在60秒前加载。svg有一个默认名称空间。你必须对此作出解释: //svg:use[@xlink:href='#core_mail'] 或者忽略它: 不过,公平地说,您不必深入到标记中,您的电子邮件按钮在树中的位置要高得多-请查看屏幕截图上部分可见的第一个父元素-这是您可能希望找到的元素。谢谢。你是对的,尽管我尝试使用//pos图标项[@icon='core\u mail']使其正常工作。所以,是的,你关于不深入的建议实际上是有效的。我会在2分钟内标

我正在尝试查找的元素:

那只会超时。。页面在60秒前加载。

svg有一个默认名称空间。你必须对此作出解释:

//svg:use[@xlink:href='#core_mail']
或者忽略它:


不过,公平地说,您不必深入到标记中,您的电子邮件按钮在树中的位置要高得多-请查看屏幕截图上部分可见的第一个父元素-这是您可能希望找到的元素。

谢谢。你是对的,尽管我尝试使用//pos图标项[@icon='core\u mail']使其正常工作。所以,是的,你关于不深入的建议实际上是有效的。我会在2分钟内标记为答案,因为它不允许我在这之前这么做。顺便说一下,奇怪的是我不知道它是否与此相关,但是当我将驱动程序对象的PageSource属性保存到一个文件中时,我得到的印象是,我没有在那里看到完整的页面源代码,也就是说,在javascript发挥其魔力之后。例如,在我的图片中,你可以看到我有一条消息说mail.com Update,但我在屏幕上看不到source@JoaoVitor很乐意帮忙!通常会发生两件事:在获得页面源代码后,会执行一些js。或者,这部分在iframe中-页面源不会递归地获取iframe页面源。完全正确,整个收件箱都在iframe中,在这种情况下,我想我可以使用driver.switch来处理它们。再次感谢!
//svg:use[@xlink:href='#core_mail']
//*[local-name() = 'use' and @xlink:href='#core_mail']