Python 硒“;等待,直到出现位于;行为不符合预期

Python 硒“;等待,直到出现位于;行为不符合预期,python,selenium,Python,Selenium,我正在运行一个Python脚本,它使用Selenium+Chromedriver在web应用程序上自动执行一系列操作。其中一些操作会导致页面或框架重新加载。由于Selenium没有内置的“等待页面加载”功能,我不想使用time.sleep(x)如果可以避免,我经常使用这个组合: wait = WebDriverWait(driver, 10) driver.find_element_by_id("sysverb_update_and_stay").click() #causes form to

我正在运行一个Python脚本,它使用Selenium+Chromedriver在web应用程序上自动执行一系列操作。其中一些操作会导致页面或框架重新加载。由于Selenium没有内置的“等待页面加载”功能,我不想使用time.sleep(x)如果可以避免,我经常使用这个组合:

wait = WebDriverWait(driver, 10)
driver.find_element_by_id("sysverb_update_and_stay").click() #causes form to submit and data to load
element = wait.until(EC.presence_of_element_located((By.ID, "view.change_task.parent")))
element = wait.until(EC.element_to_be_clickable((By.ID, "view.change_task.parent")))
根据我阅读的文档(以及属性本身的名称),我希望脚本在继续之前会等待具有该ID的元素出现,并且如果它在脚本的内置超时内没有找到该元素,那么脚本才会崩溃并抛出异常。但是,一旦脚本到达第一个等待行,它就会崩溃并引发以下异常:

回溯(最近一次呼叫最后一次): test\u change\u控件中的文件“servicenow.py”,第137行 element=等待.until(EC.presence\u of_element\u located)((By.ID,“view.change\u task.parent”) )) ... selenium.common.exceptions.WebDriverException:消息:未知错误:未处理的inspec tor错误:{“代码”:-32000,“消息”:“找不到具有指定id的上下文”}

如果它不能通过ID找到那个元素,它不是应该等待它出现吗?我错过了什么

编辑:添加了上面的等待代码和下面元素的HTML:

<a id="view.change_task.parent" name="view.change_task.parent" style="" class="btn btn-default btn-ref icon icon-info" data-type="reference_popup" data-table="change_task" data-form="task.do" data-ref="change_task.parent" data-ref-key="null" data-view="" tabindex="-1"><span class="sr-only">View - Opens reference record in current window</span></a>
View-在当前窗口中打开引用记录

这似乎是Chromedriver早期版本的一个问题——更新到最新版本似乎解决了这个问题。

id=“view.change\u task.parent”共享
等待的内容以及HTML for元素
@Andersson更新了原始帖子你检查答案了吗?我没有看到那个答案——看起来将chromedriver更新到最新版本解决了这个问题。谢谢