擅长:python、mysql、java
<p>如果页面自动将您重定向到您希望使用此元素的位置,那么我建议使用selenium的内置<code>WebDriverWait</code>函数。这将接受等待加载元素的最长时间作为参数,并将在找到该元素后立即返回该元素。比如:</p>
<pre><code>from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
driver.refresh()
my_element = WebDriverWait(driver, 30).until(EC.presence_of_element_located((By.PARTIAL_LINK_TEXT, "Workspace")))
# code that needs this element loaded
</code></pre>
<p>这将使代码冻结长达30秒,但如果元素加载得更快,则可以更快地继续。如果30秒后找不到元素,将引发异常</p>
<p>您可以阅读有关selenium waits<a href="https://selenium-python.readthedocs.io/waits.html" rel="nofollow noreferrer">here</a>的更多信息</p>