我正在将Selenium Webdriver与python单元测试库(unittest)配合使用。我正在尝试通过其名称查找元素。大约有一半的时间,测试会引发NoSuchElementException,而另一次则不会引发异常。
我想知道是否与seleniumwebdriver没有等待足够长的时间来加载页面有关。
driver = webdriver.WhatEverBrowser() driver.implicitly_wait(60) # This line will cause it to search for 60 seconds
它只需要插入一次代码(通常在创建webdriver对象后立即执行)
例如,如果您的页面由于某种原因需要30秒钟加载(购买新服务器),并且元素是页面上最后显示的内容之一,那么它几乎只会一遍又一遍地检查元素存在60秒钟,然后,如果找不到它,则抛出异常。
还应确保您的范围是正确的,即:如果您专注于某个框架,并且要查找的元素不在该框架中,则它将找不到它。