我想知道是否有任何方法可以保护脚本在由于NoSuchElementException错误而退出之前不被破坏。我的脚本适用于网站上的前几页,能够找到元素,但在前几页之后,由于没有这样的元素错误,它退出了。我想知道如何才能让程序不退出并一直到页面的末尾。对不起,我是堆栈溢出的新手,所以如果我问得对的话,我不会。谢谢
line 39, in <module>
main3 = main.find_element_by_xpath('//*[@id="main-content-column"]/div/div[7]/div/div[2]/div/div/ng-transclude/table/tbody')
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//*[@id="main-content-column"]/div/div[7]/div/div[2]/div/div/ng-transclude/table/tbody"}
并非所有元素都具有相同的Xpath或Css。试着看看它什么时候失败——也许元素有另一个表达式。
此外,尝试使用这个:
WebDriverWait wait = new WebDriverWait(browser, secondsToWait);
wait.until(ExpectedConditions.presenceOfElementLocated(By.id(elementID)));
有许多ExpectedConditions,如elementToBeClickable、elementToBeVissible等等