当前位置:嗨网首页>书籍在线阅读

36-填写并提交表单

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

12.8.4 填写并提交表单

要向 Web 页面的文本字段发送按键事件信息,只要找到那个文本字段的 <input><textarea> 元素,然后调用 send_keys() 方法即可。例如,在交互式环境中输入以下代码:

>>> from selenium import webdriver
>>> browser = webdriver.Firefox()
>>> browser.get('https://logi')
>>> userElem = browser.find_element_by_id('user_name)
>>> userElem.send_keys('your_real_username_here')
>>> passwordElem = browser.find_element_by_id('user_pass')
>>> passwordElem.send_keys('your_real_password_here')
>>> passwordElem.submit()

只要MetaFilter的登录页面没有在本书出版后改变Username和Password文本字段的id,那么上面的代码就会用提供的文本填写这些文本字段(你总是可以用浏览器的开发者工具验证id)。在任何元素上调用 submit() 方法,都等同于单击该元素所在表单的Submit按钮(你可以很容易地调用 emailElem.submit() ,代码所做的事情一样)。

警告: 尽可能地避免将口令放在源代码中。当你的口令未加密而存放在硬盘上时,很容易不小心泄露给他人。如果可能,请让你的程序使用第8章中描述的pyinputplus. inputPassword()函数来提示用户从键盘上输入口令。