簡體   English   中英

XPath 的 C# Selenium findElements 返回 null

[英]C# Selenium findElements by XPath returns null

IList<IWebElement> firstname = driverOne.FindElements(By.XPath("//*[@id="+ ((char)34) + "4cd85da6-f2d1-4361-9864-e187dc763f9b" + ((char)34) + "]"));

我試過這個從下面的 HTML 中獲取元素,但它返回 null,因為每次我重新加載頁面時,XPath 都會改變,因為我認為元素是從 Angular 隨機創建的。

<input id="0bad9cfd-028d-404c-a498-17a3f5f1ae81" type="text" data-test="first-name-input" placeholder="" class="ng-untouched ng-pristine ng-invalid"><!----><!---->

我也嘗試用 Id 和 CSS-Selector 來做,但重新加載后一切都改變了,所以我不知道該怎么做...

那么如何獲得元素呢?

嘗試使用數據測試?

firstname =driver.FindElement(By.XPath("//*[@data-test='first-name-input']"));

當您將 ID 分配給 html 標簽時,嚴格如下:

<h1 id="test"> </h1>

Angular 渲染過程后,ID 不會改變。 您可以將 Id 添加到您需要訪問的每個元素。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM