<p>要在网站<a href="https://www.schwab.com/public/schwab/nn/login/login.html&lang=en" rel="nofollow noreferrer">https://www.schwab.com/public/schwab/nn/login/login.html&lang=en</a>上的登录ID的文本框中发送<em>字符序列</em>,因为所需元素位于<code><iframe></code>中,因此必须:</p>
<ul>
<li>为所需的<code>frame_to_be_available_and_switch_to_it()</code>诱导<em>WebDriverWait</em>。你知道吗</li>
<li>为所需的<code>element_to_be_clickable()</code>诱导<em>WebDriverWait</em>。你知道吗</li>
<li><p>您可以使用以下<a href="https://stackoverflow.com/questions/48369043/official-locator-strategies-for-the-webdriver/48376890#48376890">Locator Strategies</a>之一:</p>
<ul>
<li><p><code>CSS_SELECTOR</code>:</p>
<pre><code>driver.get('https://www.schwab.com/public/schwab/nn/login/login.html&lang=en')
WebDriverWait(driver, 10).until(EC.frame_to_be_available_and_switch_to_it((By.CSS_SELECTOR,"iframe#loginIframe")))
WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "input.form-control#LoginId"))).send_keys("averagejoe1080")
</code></pre></li>
<li><p><code>XPATH</code>:</p>
<pre><code>driver.get('https://www.schwab.com/public/schwab/nn/login/login.html&lang=en')
WebDriverWait(driver, 10).until(EC.frame_to_be_available_and_switch_to_it((By.XPATH,"//iframe[@id='loginIframe']")))
WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, "//input[@class='form-control' and @id='LoginId']"))).send_keys("averagejoe1080")
</code></pre></li>
</ul></li>
</ul>
<blockquote>
<p>Here you can find a relevant discussion on <a href="https://stackoverflow.com/questions/53203417/ways-to-deal-with-document-under-iframe">Ways to deal with #document under iframe</a></p>
</blockquote>