簡體   English   中英

NoSuchElementError:無此類元素:無法使用WebdriverJS定位元素

[英]NoSuchElementError: no such element: Unable to locate element with WebdriverJS

我在查找頁面上的元素時遇到麻煩。 我的頁面可能包含0到20之間的任何元素。 我想找到元素並驗證元素的文本。

這是我的元素:

<span _ngcontent-c47="" class="vehicle-title h5 m-0">
<a _ngcontent-c47="" href="https://abc-xyz.com/pqr/classic/4183C62C-A7AE-45BA-BAB8-0DD7082A8A30">2018 Acura MDX </a>
</span>

<span _ngcontent-c47="" class="vehicle-title h5 m-0">
<a _ngcontent-c47="" href="https://abc-xyz.com/pqr/classic/4183C62C-A7AE-45BA-BAB8-0DD7082A8A28">2016 ACURA MDX </a>
</span>

我嘗試了在線建議的一堆解決方案,包括以下解決方案,但始終無法找到元素異常。

await driver.findElements(webdriver.By.className('vehicle-title h5 m-0')).then(async function(elements_arr) {
//some code
}

await driver.findElements(webdriver.By.xpath('//span[contains(@class, "vehicle-title h5 m-0")]')).then(async function(elements_arr) {
//some code
}

按照您共享的HTML,可以使用以下解決方案來查找元素:

  • 2018 Acura MDX

     await driver.findElements(webdriver.By.xpath("//span[@class='vehicle-title h5 m-0']/a[contains(., '2018 Acura MDX')]")).then(async function(elements_arr) { //some code } 
  • 2016 ACURA MDX

     await driver.findElements(webdriver.By.xpath("//span[@class='vehicle-title h5 m-0']/a[contains(., '2016 Acura MDX')]")).then(async function(elements_arr) { //some code } 

如果您遇到需要加載一些元素的情況,請使用類似以下內容的方法:

await driver.wait(until.elementLocated(by.xpath("//*[@class='vehicle-title h5 m-0']")), 10000).thenDoSomethingWithTheElement();

實際上,使用async \\ await語法可以使視圖更美麗,更清晰,並且不需要使用promicese

暫無
暫無

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

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