selenium如何给隐藏输入框发送keys?

<span class="table_n_abs" onclick="hideNameInput()" id="nameNoteId" style="top: 10px; font-size: 14px; font-family: 微软雅黑; display: block;">邮箱/手机号/帐号</span>
from selenium import webdriver
from selenium.webdriver.common.keys import Keys

import time
url = 'http://passport2.chaoxing.com/login?fid=1479&refer=http://i.mooc.chaoxing.com'
# driver = webdriver.PhantomJS()
driver = webdriver.Firefox()
driver.get(url)
time.sleep(1)
elem = driver.find_element_by_id('passwordId')
elem.send_keys('CNM')
not_work_elem = driver.find_element_by_id('nameNoteId')
not_work_elem.click()
not_work_elem.send_keys('test')

time.sleep(10)
driver.close()
阅读 6.5k
2 个回答
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

url = 'http://passport2.chaoxing.com/login?fid=1479&refer=http://i.mooc.chaoxing.com'

driver = webdriver.Firefox()
driver.get(url)

wait = WebDriverWait(driver, 10)

span = wait.until(EC.visibility_of_element_located((By.ID, "nameNoteId")))
span.click()

unameId = wait.until(EC.visibility_of_element_located((By.ID, "unameId")))
unameId.send_keys('a')

passwordId = wait.until(EC.visibility_of_element_located((By.ID, "passwordId")))
passwordId.send_keys('b')

一个思路,用selenium的executeScript执行javascript脚本触发隐藏输入框显示,然后再切换到输入框完成输入。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题