selenium中,如果同时使用了隐式等待和显示等待,比如隐式等待10秒,显示等待10s,那如果定位的元素不存在,是10秒之后抛出异常还是20秒之后抛出异常

当同时使用了隐式等待和显示等待时,对于不存在的元素定位,会根据两者中较长的等待时间来判断是否会抛出异常。

在你提供的情况下,隐式等待设置为10秒,显示等待设置为10秒。如果定位的元素在10秒内没有出现,则会抛出异常。这是因为显示等待会优先等待,如果达到了显示等待的等待时间(即10秒),而元素仍未出现,那么会抛出 TimeoutException 异常。

而如果元素在隐式等待时间内出现了,就会立即继续往下执行,不会等待完整的显示等待时间。

需要注意的是,隐式等待会在WebDriver的整个生命周期中起作用,而显示等待只会在特定的等待条件中起作用。当使用了显示等待时,它会覆盖隐式等待的设置。

因此,在设置隐式和显示等待时,需要根据实际情况选择合适的等待时间,避免等待时间过长或过短导致不必要的等待或错误。