既然
name
可用,你应该使用name attribute
。
driver.find_element_by_name('username').send_keys("Test")
我可以在最后看到这个 HTML :
<input class="inputDefault-_djjkz input-cIJ7To inputField-4g7rSQ" name="email" type="text" placeholder="" aria-label="Email or Phone Number" autocomplete="off" maxlength="999" spellcheck="false" value="">
所以这里
name
是email
,所以应该尝试一下:
driver.find_element_by_name('email').send_keys("Test")
更新1:
driver.get("https://discord.com/invite/NGvXRfrmUE")
driver.maximize_window()
wait = WebDriverWait(driver, 10)
wait.until(EC.element_to_be_clickable((By.NAME, "username"))).send_keys('Test')
进口:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
如果您想用硒填充输入文本,请参阅以下示例:
def TextInputField(inputId, inputValue):
input = browser.find_element(By.ID, inputId)
input.click()
input.clear()
input.send_keys(inputValue)
time.sleep(1)
在此示例中,我创建了一个函数,该函数获取输入的 Id,然后单击它,清除它并用值填充它。 您可以在这里看到文档:https://selenium-python.readthedocs.io/ located-elements.html