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

37-发送特殊键

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

12.8.5 发送特殊键

selenium 有一个模块,针对不能用字符串值输入的键盘按键。它的功能非常类似于转义字符。这些值保存在 selenium.webdriver.common.keys 模块的属性中。因为这个模块名非常长,所以可以在程序顶部运行 from selenium.webdriver. common.keys import Keys 导入模块,这样原来需要写 selenium. webdriver. common.keys 的地方,就只需写 Keys 。表12-5列出了常用的 Keys 属性。

表12-5  `selenium.webdriver.common.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页面发送按键的好方法。当滚动到该页的底部,新的内容就会加载,这可能会有用。