[Selenium] selenium 方法集
元素定位
| 方法 | 描述 |
| By.ID | 根据id值获取对应的节点 |
| By.NAME | 根据name值获取对应的单个或多个节点 |
| By.TAG_NAME | 根据节点名获取节点 |
| By.CLASS_NAME | 根据class值获取节点 |
| By.LINK_TEXT | 根据链接文本获取对应的节点 |
| By.PARTIAL_LINK_TEXT | 根据部分链接文本获取对应的节点 |
| By.CSS_SELECTOR | 根据CSS选择器获取节点,对应的value字符串字符串CSS位置 |
| By.XPATH | 根据By.XPATH获取节点,对应的value字符串节点位置 |
元素属性
| 方法 | 描述 |
| get_attribute(xx) | 获取当前节点xx属性 |
| id | 获取当前节点id |
| location | 获取当前节点位置 |
| tag_name | 获取当前节点名称 |
| size | 获取当前节点大小 |
| text | 获取当前节点文本 |
动作
| 方法 | 描述 |
| send_keys(var str) | 标签栏输入 str,需要先获取标签位置 |
| send_keys(Keys.PAGE_UP) | 翻页键上(Page Up),需要先获取标签位置 |
| send_keys(Keys.PAGE_DOWN) | 翻页键下(Page Down),需要先获取标签位置 |
| execute_script('window.scrollTo(0,document.body.scrollHeight)') | 向下滚动到底部 |
|
jsButton = 'document.documentElement.scrollTop=100000'
driver.execute_script(jsButton)
time.sleep(2)
|
向下滚动到底部(python) |
| execute_script('window.scrollTo(0,0)') | 向上滚动到顶部 |
| execute_script('window.scrollTo(0,int n)') | 向下滚动 n px 位置 |
| script = "arguments[0].scrollIntoView();"; driver.execute_script(script, driver.find_element(By.xx, 'xx')) |
向下滚动到目标元素位置,如:ID = xx |
等待
| 方法 | 描述 | |
| 强制 | time.sleep(int n) | 强制等待 n 秒,不关注页面渲染情况 |
| 隐式 | driver.implicitly_wait(int n) | 等待 n 秒,如果页面加载出来就继续,否则报异常 |
| 显示 | wait = WebDriverWait(driver, int n, int m) wait.until(EC.presence_of_element_located((By.By.xx, 'xx'))) |
等待 n 秒,每隔 m 秒 加载一下 until 方法,如果 until 方法内的属性加载出来则继续,否则循环,直到 n 秒结束继续执行。 注:xx代表标签属性 |
键盘方法
| 方法 | 描述 |
| Keys.BACK_SPACE | 回退键(BackSpace) |
| Keys.TAB | 制表键(Tab) |
| Keys.ENTER | 回车键(Enter) |
| Keys.SHIFT | 大小写转换键(Shift) |
| Keys.CONTROL | Control键(Ctrl) |
| Keys.ALT | ALT键(Alt) |
| Keys.ESCAPE | 返回键(Esc) |
| Keys.SPACE | 空格键(Space) |
|
Keys.PAGE_UP Keys.PAGE_DOWN |
翻页键上(Page Up) 翻页键下(Page Down) |
| Keys.END | 行尾键(End) |
| Keys.HOME | 行首键(Home) |
|
Keys.LEFT Keys.UP Keys.RIGHT Keys.DOWN |
方向键上下左右 |
| Keys.INSERT | 插入键(Insert) |
| DELETE | 删除键(Delete) |
| NUMPAD0 ~ NUMPAD9 | 数字键1-9 |
| F1 ~ F12 | F1 - F12键 |
| (Keys.CONTROL, ‘a’) | 组合键Control+a,全选 |
| (Keys.CONTROL, ‘c’) | 组合键Control+c,复制 |
| (Keys.CONTROL, ‘x’) | 组合键Control+x,剪切 |
| (Keys.CONTROL, ‘v’) | 组合键Control+v,粘贴 |

浙公网安备 33010602011771号