对元素进行操作
selenium.webdriver.common.action_chains.ActionChains(driver)
可以进行连续的多个操作:
menu = driver.find_element_by_css_selector(".nav")
hidden_submenu = driver.find_element_by_css_selector(".nav #submenu1")
ActionChains(driver).move_to_element(menu).click(hidden_submenu).perform()
也可以以下一下来:
menu = driver.find_element_by_css_selector(".nav")
hidden_submenu = driver.find_element_by_css_selector(".nav #submenu1")
actions = ActionChains(driver)
actions.move_to_element(menu)
actions.click(hidden_submenu)
actions.perform()
操作
鼠标操作 | |
---|---|
click(on_element=None) | 左击on_element,如果on_element为空,则点击当前鼠标位置 |
click_and_hold(on_element=None) | 按住不放 |
context_click(on_element=None) | 右击 |
double_click(on_element=None) | 双击 |
drag_and_drop_by_offset(source, xoffset, yoffset) | 按住鼠标左键不放,拖动xoffset和yoffset后放掉 |
release(on_element=None) | 对某一元素放开鼠标 |
move_by_offset(xoffset, yoffset) | 根据给定偏移移动鼠标 |
move_to_element(to_element) | 把鼠标移到某个位置 |
move_to_element_with_offset(to_element, xoffset, yoffset) | 把鼠标移动到指定元素的某个地方 |
键盘操作 | selenium.webdriver.common.keys.Keys |
key_down(value, element=None) | 按住(CTRL:Keys.CONTROL、ALT:Keys.ALTER、SHIFT:Keys.SHIFT中的某一个)不放 |
key_up(value, element=None) | 释放掉之前按着的某一个键 |
send_keys(*keys_to_send) | 输入要输入的内容 |
send_keys_to_element(element, *keys_to_send) | 对指定元素输入内容 |
弹出窗口 | class selenium.webdriver.common.alert.Alert(driver) |
Alert(driver).accept() | 接受 |
Alert(driver).dismiss() | 拒绝 |
authenticate(username, password) | 输入用户名和密码 |
send_keys(keysToSend) | 输入键 |
text | 获取弹出窗口的文本 |
下拉框 | selenium.webdriver.support.select.Select(webelement) |
deselect_all() | 取消所有选择项(只对多选框有效) |
deselect_by_index(index) | 取消指定索引(根据页面代码里面选项的索引,而不是自己数的)项的选择 |
deselect_by_value(value) | 根据值取消选择 |
deselect_by_visible_text(text) | 根据文本取消选择 |
select_by_index(index) | |
select_by_value(value) | |
select_by_visible_text(text) | |
all_selected_options | 返回所有被选中的选项 |
first_selected_option | 返回第一个被选中的选项 |
options | 返回所有选项 |
其他 | |
pause(seconds) | 暂停数秒 |
reset_actions() | Clears actions that are already stored on the remote end. |
perform() | 开始你的表演:在perform之前的所有操作开始按顺序执行 |