WEB自动化测试基础03-鼠标键盘操作

一、点击、输入、清除

driver.find_element(By.NAME, "q").click()

driver.find_element(By.NAME, "q").send_keys("webdriver" + Keys.ENTER)

SearchInput = driver.find_element(By.NAME, "q")
SearchInput.send_keys("selenium")

SearchInput.clear()

二、 使用选择列表元素

from selenium.webdriver.support.select import Select
'<然后,参考 <select> 元素,基于WebElement创建一个Select对象>'
select_element = driver.find_element(By.ID,'selectElementID')
select_object = Select(select_element)
<select>
<option value=value1>Bread</option>
<option value=value2 selected>Milk</option>
<option value=value3>Cheese</option>
</select>

 2.1 有三种方法可以从上述元素中选择第一个选项:

'选项索引'
select_object.select_by_index(1)

'选项value属性值'
select_object.select_by_value('value1')

'选项文本'
select_object.select_by_visible_text('Bread')
'检查所有被选择的选项'
all_selected_options = select_object.all_selected_options

'返回列表中第一个被选择的选项'
first_selected_option = select_object.first_selected_option

'返回列表的所有选项'
all_available_options = select_object.options

2.2 要取消选择任何元素,现在有四个方法(仅适用于多选列表) :

'选项索引'
select_object.deselect_by_index(1)

'选项value属性值'
select_object.deselect_by_value('value1')

'选项文本'
select_object.deselect_by_visible_text('Bread')

'取消所有被选择的选项'
select_object.deselect_all()

<select>元素是否允许多选:

does_this_allow_multiple_selections = select_object.is_multiple

三、Action接口

clickable = driver.find_element(By.ID, "clickable")
ActionChains(driver)\
'移动至'
.move_to_element(clickable)\

'暂停'
.pause(1)\

'输入'
.send_keys("abc")\
'指定输入'
.send_keys_to_element(text_input, "abc")\

'按下键位'
.key_down(Keys.SHIFT)\
'松开键位'
.key_up(Keys.SHIFT)\

'点击并按住不放'
.click_and_hold(clickable)\
'点击然后松开'
.click_and_release(clickable)\

'点击鼠标右键'
.context_click(clickable)\
'双击'
.double_click(clickable)\

.perform()

'释放'
ActionBuilder(driver).clear_actions()

Move by offset (按偏移量移动):

mouse_tracker = driver.find_element(By.ID, "mouse‐tracker")
ActionChains(driver)\
'以目标元素左上角为准,鼠标向右偏移8px的位置进行移动'
.move_to_element_with_offset(mouse_tracker, 8, 0)\

'当前指针位置偏移'
.move_by_offset( 13, 15)\

'将A拖放到B'
.drag_and_drop(draggable, droppable)\

'将A向(x,y)方向拖放'
.drag_and_drop_by_offset(draggable, offset_x, offset_y)\

.perform()

Scroll wheel actions 滚轮动作:

iframe = driver.find_element(By.TAG_NAME, "iframe")
ActionChains(driver)\

'滚动到元素'
.scroll_to_element(iframe)\

'滚动具体距离'
.scroll_by_amount(offset_x, offset_y)

'基于元素滚动具体距离'
.scroll_from_origin(scroll_origin, offset_x, offset_y)\

.perform()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值