这个错误通常发生在将控制从原生应用程序切换到Webview中时。要解决这个问题,可以使用以下代码示例:
# 导入selenium.webdriver模块
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
# 设置最大等待时间
WAIT_TIME = 30
# 获取当前上下文
contexts = driver.contexts
# 切换到webview
driver.switch_to.context(contexts[-1])
# 显式等待,直到活动窗口中出现根AccessibilityNodeInfo
WebDriverWait(driver, WAIT_TIME).until(EC.presence_of_element_located((By.ID, 'android:id/content')))
在上面的代码片段中,我们使用了判断当前上下文的方法来确定是否切换到Webview。wait_time变量可以根据实际情况进行更改,以便等待时间更长或更短。在显式的等待期间,我们使用By.ID通过访问根AccessibilityNodeInfo的id属性来等待。