37-发送特殊键
12.8.5 发送特殊键
selenium
有一个模块,针对不能用字符串值输入的键盘按键。它的功能非常类似于转义字符。这些值保存在 selenium.webdriver.common.keys
模块的属性中。因为这个模块名非常长,所以可以在程序顶部运行 from selenium.webdriver. common.keys import Keys
导入模块,这样原来需要写 selenium. webdriver. common.keys
的地方,就只需写 Keys
。表12-5列出了常用的 Keys
属性。
| 属性 | 含义 |
| :----- | :----- | :----- | :----- |
| Keys.DOWN, Keys.UP, Keys.LEFT,Keys.RIGHT
| 键盘箭头键 |
| Keys.ENTER, Keys.RETURN
| 回车和换行键 |
| Keys.HOME, Keys.END, Keys.PAGE_DOWN,Keys.PAGE_UP
| Home键、End键、PageUp和Page Down键 |
| Keys.ESCAPE, Keys.BACK_SPACE,Keys.DELETE
| Esc键、Backspace键和Delete键 |
| Keys.F1, Keys.F2,..., Keys.F12
| 键盘顶部的F1到F12键 |
| Keys.TAB
| Tab键 |
例如,如果光标当前不在文本字段中,按Home键和End键将使浏览器滚动到页面的顶部或底部。在交互式环境中输入以下代码,注意 send_keys()
调用是如何滚动页面的:
>>> from selenium import webdriver
>>> from selenium.webdriver.common.keys import Keys
>>> browser = webdriver.Firefox()
>>> browser.get('https://no****')
>>> htmlElem = browser.find_element_by_tag_name('html')
>>> htmlElem.send_keys(Keys.END) # scrolls to bottom
>>> htmlElem.send_keys(Keys.HOME) # scrolls to top
<html>
标签是HTML文件中的基本标签:HTML文件的完整内容包含在 <html>
和 </html>
标签之内。调用 browser.find_element_by_tag_name('html')
是向一般Web页面发送按键的好方法。当滚动到该页的底部,新的内容就会加载,这可能会有用。