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秒之前加载。
答案 0 :(得分:1)
svg
有一个默认命名空间。你必须考虑到它:
//svg:use[@xlink:href='#core_mail']
或使用local-name()
忽略它:
//*[local-name() = 'use' and @xlink:href='#core_mail']
虽然,公平地说,你不必深入了解标记,你的“电子邮件”按钮在树中更高 - 看到屏幕截图中部分可见的第一个父元素 - 这是你想要的元素你可能想要找到它。