擅长:python、mysql、java
<p>从我看来有两个问题</p>
<p>您正试图在<code>div</code>元素上调用<code>send_keys()</code>。您可能要查找的是<code>input</code>元素,它嵌套在<code>div</code>元素中</p>
<p>这可以通过稍微更改XPATH来实现:</p>
<pre><code>element = self.driver.find_element_by_xpath('//*[@name="username"]')
element.send_keys('...')
</code></pre>
<p>另一个可能的问题是,元素并不总是立即加载的——有时您必须等待元素出现在HTML中,然后才能找到它。这可以通过使用<a href="https://selenium-python.readthedocs.io/waits.html" rel="nofollow noreferrer">^{<cd5>}</a>来实现</p>
<pre><code>from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
# Wait for the element to appear in the HTML for a maximum of 10 seconds
element = WebDriverWait(self.driver, 10).until(
EC.presence_of_element_located((By.NAME, "username"))
)
# Send input to the element
element.send_keys('...')
</code></pre>