簡體   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