首页 > 解决方案 > selenium 无法将键发送到输入框

问题描述

我正在尝试使用 seleinum 自动登录。我用过

  1. driver.execute_script
  2. driver.find_element_by_css_selector
  3. driver.find_element_by_xpath

.

from selenium import webdriver
from webdriver_manager import chrome

driver = webdriver.Chrome(chrome.ChromeDriverManager().install())
driver.get("https://naco999.com/")

driver.find_element_by_css_selector('#login_id').send_keys("id")
driver.find_element_by_css_selector("#login_pw").send_keys("pw")

但这些似乎都不起作用。我怎样才能?

标签: pythonselenium

解决方案


有 3 个元素匹配#login_idcss_selector。
尝试使用这个:

driver.find_element_by_css_selector(".header-one #login_id").send_keys("id")
driver.find_element_by_css_selector(".header-one #login_pw").send_keys("pw")

此外,您应该在加载元素时添加等待发送文本。
像这样:

from selenium import webdriver
from webdriver_manager import chrome
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

driver = webdriver.Chrome(chrome.ChromeDriverManager().install())
wait = WebDriverWait(driver, 20)

driver.get("https://naco999.com/")

wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, ".header-one #login_id"))).send_keys("id")
wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, ".header-one #login_pw"))).send_keys("pw")


推荐阅读