php selenium 按键,selenium 的节点交互和动作链

节点交互

selenium 可以驱动浏览器来执行一些操作,也就是说可以让浏览器模仿执行一些操作。比较常见的用法有:输入文字 send_keys() 方法,清空文字方法 clear() 方法,点击按钮时用 click() 方法。

示例如下:from selenium import webdriver

import time

driver = webdriver.Chrome()

driver.get('https://www.baidu.com')

input_q = driver.find_element_by_id('kw')

input_q.send_keys('iphone')

time.sleep(2)

input_q.clear()

input_q.send_keys('ipad')

button = driver.find_element_by_class_name('bg')

button.click()

time.sleep(3)

driver.close()

这里首先驱动了浏览器打开了百度,然后用find_element_by_id() 方法获取搜索框,然后用 send_keys()方法输入 iphone 文字,等待两秒后使用 clear() 方法清空了搜索框的内容,再次调用了 send_keys() 方法输入 ipad 文字,之后再用 find_element_by_class_name() 方法获取搜索按钮,最后调用 click() 方法完成搜索动作。

动作链

在上面的实例中,一些交互动作都是针对某个节点执行的。比如,对于输入框,我们调用它输入文字和清空文字的方法;对于按钮,就调用了点击方法。其实还有另外一些操作,他们没有特定的执行对象,比如鼠标拖拽,键盘按键等,这些动作用另一种方式来执行,那就是动作练。from selenium import webdriver

from selenium.webdriver import ActionChains

browser = webdriver.Chrome()

base_url = 'http://www.runoob.com/try/try.php?filename=jqueryui-api-droppable'

browser.get(base_url)

browser.switch_to.frame('iframeResult')

source = browser.find_element_by_id('draggable')

target = browser.find_element_by_id('droppable')

actions = ActionChains(browser)

actions.drag_and_drop(source,target)

actions.perform()

首先,代开网页中的一个拖拽实例,然后依次选中要拖拽的节点和拖拽到的目标节点,接着声明 ActionChains 对象并将其赋值为 actions 变量,然后通过调用 actions 变量的 drag_and_drop() 方法,在调用 perfrom() 方法执行动作,此时就完成了拖拽操作,如下图:

69f19a42fbe3

拖拽前

69f19a42fbe3

拖拽后

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值