![](/img/trans.png)
[英]Unable to find the Element on the pop up using Selenium Webdriver with C#
[英]Selenium webdriver C# - Unable to find the element in a grid developed using angular UI
我試圖通過selenium webdriver(C#)
自動化使用selenium webdriver(C#)
JS開發的Web應用程序,並且我試圖單擊有角度的UI網格中的單元格,我嘗試通過CSS選擇器或xpath查找,但沒有幫助。
Css selector is generating dynamic ID - #\31 460691734316-0-uiGrid-00KQ-cell > div
Xpath is also dynamic //*[@id="1460691734316-0-uiGrid-00KQ-cell"]/div
我嘗試使用
driver.FindElements(By.CssSelector("*[id^='1460'][id$='cell']"));
但這沒有幫助
任何幫助將不勝感激。 如果需要,我可以發送更多詳細信息
對於我的包含iframe並使用AnglularJS開發的HTML頁面的特殊問題,以下技巧為我節省了很多時間:在DOM中,我清楚地看到有一個iframe可以包裝所有內容。 所以下面的代碼應該工作:
driver.switchTo().frame(0);
waitUntilVisibleByXPath("//h2[contains(text(), 'Creative chooser')]");
但是它沒有用,並告訴我“無法切換到框架。窗口已關閉”之類的信息。 然后,我將代碼修改為:
driver.switchTo().defaultContent();
driver.switchTo().frame(0);
waitUntilVisibleByXPath("//h2[contains(text(), 'Creative chooser')]");
在此之后,一切順利。 因此,顯然Angular正在使用iframe進行處理,並且在加載頁面之后,當您期望驅動程序專注於默認內容時,Angular框架已將其刪除了。 希望對您有所幫助。
嘗試使用Selenium IDE(firefox的插件)查找元素怎么辦?
在IDE中,可以通過使用GUI選擇元素來輕松找到選擇器
您可以使用周圍的元素代替它,而不是通過其ID專門標識該元素? 該單元格是否在表格中並且位於一致的位置? 是否有一個父元素可以更一致地選擇並遍歷C#程序中的子元素,以標識所需的合適單元格?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.