![](/img/trans.png)
[英]NoSuchElementError: no such element: Unable to locate element:
[英]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.