所以我使用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路径 –