所以我使用Selenium的WebDriverJS的JavaScript實現。我對WebDriverJS比較陌生,我想知道爲什麼代碼在Try塊中崩潰?它甚至從來沒有到達Catch區塊。這裏是我的代碼:Selenium在Try塊中崩潰
try
{
driver.findElement(this.By.xpath("html/body/form/div[4]/div[1]/center[1]/div[15]/div[1]/a[1]/img[1]")).click();
catch (err)
{
driver.findElement(this.By.xpath("html/body/form/div[3]/div[1]/center[1]/div[15]/div[1]/a[1]/img[1]")).click();
}
然後我在控制檯中此錯誤消息:
NoSuchElementError:沒有這樣的元素:找不到元素:{「方法」:「的XPath」,「選擇」: 「html/body/form/div [4]/div [1]/center [1]/div [15]/div [1]/a [1]/img [1]」}
正如你所能看,這個錯誤來自Try塊內的代碼。
有沒有什麼辦法可以讓代碼繼續執行,儘管出現這個錯誤?
您的catch語句可能也會拋出錯誤。 –
不,我已經測試了catch塊中的代碼,它工作正常。 – maximus009
xpath也非常挑剔。最好使用css路徑,比如this.By.css(「div.someClass> a> img:nth-child(2)」)。您可以使用document.querySelector(「div.someClass」)在您的瀏覽器控制檯中測試CSS路徑 –