Это сообщение об ошибке ...
unknown error: unhandled inspector error: {"code":-32000,"message":"Cannot find context with specified id"}
... означает, что экземпляру WebDriver не удалось найти нужный элемент.
Как вы упомянули вВаш вопрос о том, что элемент является частью <iframe>
и вызов click()
может привести к перезагрузке содержимого iframe, в этом случае вам нужно вернуться обратно к defaultContent
и снова переключиться обратно к желаемому iframe
с WebDriverWait , а затем вызвать WebDriverWait для stalenessOf()
предыдущего элемента или наличия следующего требуемого элемента следующим образом:
WebElement element = driver.findElement(by);
element.click();
driver.switchTo().defaultContent(); // or driver.switchTo().parentFrame();
new WebDriverWait(driver, 10).until(ExpectedConditions.frameToBeAvailableAndSwitchToIt(By.name("xyz")));
// wait for stalenessOf previous element (visibility of next desired element preferred)
new WebDriverWait(driver, 4, 100).until(ExpectedConditions.stalenessOf(element));
// or wait for visibility of next desired element (preferred approach)
new WebDriverWait(driver, 4, 100).until(ExpectedConditions.visibilityOfElementLocated(next_desired_element));