要做什么
Steiner:[Selenium] 简单介绍zhuanlan.zhihu.com 我们用刚才学到的知识去用selenium
来模拟与表单交互,还好有个可以练习的网站 test website
拿这个网站来试试输入用户名,密码
ps: 其实这个自己在本地写个网页就行了,ajax那部分还是得靠上面的网站
我们要怎么做
0. 准备
url = 'http://exercise.kingname.info/exercise_login?next=%2Fexercise_login_success'
driver = webdriver.Firefox()
1. 打开网页
driver.get(url)
2. 定位元素
现在我们需要定位两个输入框和登录按钮在哪里
inputAuthor = driver.find_element(By.CSS_SELECTOR, 'div.row:nth-child(1) > div:nth-child(1) > input:nth-child(2)')
inputPassword = driver.find_element(By.CSS_SELECTOR, 'div.row:nth-child(2) > div:nth-child(1) > input:nth-child(2)')
submitButton = driver.find_element(By.CSS_SELECTOR, '.login')
ps: 你以为我会这么复杂的语法吗,直接检查元素,右键选复制,点击CSS选择器
再ps: 丫的,点了右键后不能截图
3. 模拟动作
第一种做法,点击输入框再输入文字
action.click(inputAuthor).send_keys('kingname').click(inputPassword).send_keys('genius').click(submitButton).perform()
第二种,直接send_keys_to_element
actin.send_keys_to_element(inputAuthor, 'kingname').send_keys_to_element('genius').click(submitButton).perform()
ps: 这名字能不能短一点,好难受啊