当同时使用了隐式等待和显示等待时,对于不存在的元素定位,会根据两者中较长的等待时间来判断是否会抛出异常。
在你提供的情况下,隐式等待设置为10秒,显示等待设置为10秒。如果定位的元素在10秒内没有出现,则会抛出异常。这是因为显示等待会优先等待,如果达到了显示等待的等待时间(即10秒),而元素仍未出现,那么会抛出 TimeoutException
异常。
而如果元素在隐式等待时间内出现了,就会立即继续往下执行,不会等待完整的显示等待时间。
需要注意的是,隐式等待会在WebDriver的整个生命周期中起作用,而显示等待只会在特定的等待条件中起作用。当使用了显示等待时,它会覆盖隐式等待的设置。
因此,在设置隐式和显示等待时,需要根据实际情况选择合适的等待时间,避免等待时间过长或过短导致不必要的等待或错误。