selenium中键盘、鼠标、表单操作

键盘操作

#!/usr/bin/env python 
# -*- coding:utf-8 -*-
 
from selenium import webdriver
 # 要想调用键盘按键操作需要引入keys包
from selenium.webdriver.common.keys import Keys
 #创建浏览器对象
driver = webdriver.Firefox()
 
driver.get("http://www.baidu.com") 
#打印页面标题“百度一下你就知道”
print driver.title
 #生成当前页面快照
driver.save_screenshot("baidu.png") 
# id="kw"是百度搜索框,输入字符串“微博”,跳转到搜索中国页面
driver.find_element_by_id("kw").send_keys(u"微博") 
# id="su"是百度搜索按钮,click() 是模拟点击
driver.find_element_by_id("su").click() 
# 获取新的页面快照
driver.save_screenshot(u"微博.png") 
# 打印网页渲染后的源代码
print driver.page_source 
# 获取当前页面Cookie
print driver.get_cookies() 
# ctrl+a 全选输入框内容
driver.find_element_by_id("kw").send_keys(Keys.CONTROL,'a') 
# ctrl+x 剪切输入框内容
driver.find_element_by_id("kw").send_keys(Keys.CONTROL,'x') 
# 输入框重新输入内容
driver.find_element_by_id("kw").send_keys("test") 
# 模拟Enter回车键
driver.find_element_by_id("su").send_keys(Keys.RETURN) 
# 清除输入框内容
driver.find_element_by_id("kw").clear() 
# 生成新的页面快照
driver.save_screenshot("test.png") 
# 获取当前url
print driver.current_url 
# 关闭当前页面,如果只有一个页面,会关闭浏览器 # driver.close()
 
# 关闭浏览器
driver.quit()

鼠标操作

from selenium import webdriver 
# 要想调用键盘按键操作需要引入keys包
from selenium.webdriver.common.keys import Keys 
from selenium.webdriver import ActionChains 
#创建浏览器对象
driver = webdriver.Chrome()
 
driver.get("http://www.baidu.com") 
 
action1 = driver.find_element_by_id("su")
ActionChains(driver).move_to_element(action1).perform() #鼠标移动到某处
 
action2 = driver.find_element_by_id("su")
ActionChains(driver).move_to_element(action2).click(action2).perform() #鼠标移动到某处单击
 
action3 = driver.find_element_by_id("su")
ActionChains(driver).move_to_element(action3).double_click(action3).perform() #鼠标移动到某处双击
 
action4 = driver.find_element_by_id("su")
ActionChains(driver).move_to_element(action4).context_click(action4).perform()# 鼠标移动到某处右击

表单操作

#!/usr/bin/env python 
# -*- coding:utf-8 -*-
# author: Frank  time:2020/8/6

from selenium import webdriver
from selenium.webdriver.support.ui import Select
import time

dr = webdriver.Chrome()
dr.get('http://passport.njstudy.com/registers.html?refer=#')

select1 = Select(dr.find_element_by_xpath('//*[@id="register"]/div/ul/li[5]/select'))
#第一种方法
select1.select_by_index(3)  #玄武区
time.sleep(3)
#第二种方法
select1.select_by_value("栖霞区")
time.sleep(3)
#第三种方法
select1.select_by_visible_text(u"鼓楼区")
time.sleep(3)

select2 = Select(dr.find_element_by_xpath('//*[@id="register"]/div/ul/li[5]/select[2]'))
select2.select_by_visible_text("凤凰街道")

time.sleep(3)
dr.quit()

index 索引从 0 开始
value是option标签的一个属性值,并不是显示在下拉框中的值
visible_text是在option标签文本的值,是显示在下拉框的值

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值