Selenium with Python备忘录

Selenium with Python参考手册

第一部分

1.Selenium的开头
from selenium import webdriver                   #总模块
from selenium.webdriver.common.keys import Keys  #键盘模块
from selenium.webdriver.common.action_chains import ActionChains  #引入鼠标操作模块
from selenium.webdriver.support.select import Select              #导入下拉框select模块 
import time                                      #时间模块
2.对浏览器的操作
driver = webdriver.Firefox()     #打开火狐浏览器,browser是个变量,Firefox火狐,Chrome是谷歌,Ie
driver.get('http://www.baidu.com/') #打开指定的网页 
driver.maximize.window()         #将浏览器最大化显示
driver.minimize_window()         #将浏览器最小化显示  
driver.set_window_size(480, 800) #设置浏览器宽480、高800显示
driver.forword()                 #浏览器前进
driver.back()                    #浏览器后退

driver.close()                   #close方法只会退出一个标签页
driver.quit()                    #quit方法将会退出浏览器
3.等待时间
time.sleep(3)                   #显式等待3秒,强制等待3秒
driver.implicitly_wait(10)      #智能的隐式的等待10秒,只要在开头写一次进行

第二部分

1.定位网页html元素
driver.find_element_by_id('')                    #id定位
driver.find_element_by_name('')                  #name定位
driver.find_element_by_class_name('')            #class定位
driver.find_element_by_link_text('')             #link定位
driver.find_element_by_partial_link_text('')     #partial link定位
driver.find_element_by_tag_name('')              #tag定位
driver.find_element_by_xpath('')                 #xpath定位
driver.find_element_by_css_selector('')          #css定位
2.在浏览器检查元素位置

这得积累

3.切换frame(框架)和window(窗口)

frameset 标签定义一个框架集
frameset 元素被用来组织一个或者多个 frame 元素。每个 frame 有各自独立的文档。
frameset不用切,frame需层层切!

driver.switch_to.frame(0)          #1.靠经验和运气从0开始试,第一个框架代号是0.
driver.switch_to.frame("frame1")   # 2.用id来定位
driver.switch_to.frame("myframe")  # 3.用name来定位     
driver.switch_to.frame(driver.find_element_by_tag_name("iframe")) #这个还没用过
driver.switch_to.frame(driver.find_element_by_xpath("//iframe[contains(@src,'myframe')]"))
#用xpath定位,套嵌一个xpath
driver.switch_to.default_content()   #返回主框架
driver.switch_to.parent_frame()      #返回父框架
#窗口
driver.switch_to_window("f1")
4.操作测试对象
关键字动作
.click()点击对象
.send_keys(’’)在对象上模拟按键输入
.clear清除对象的内容,如果可以的话
.submit提交对象的内容,如果可以的话
.text用于获取元素的文本信息
5.鼠标的操作
context_click()                  #右击;
double_click()                   #双击;
drag_and_drop()                  #拖动;
move_to_element()                #鼠标悬停;
perform()                        #执行所有ActionChains 中存储的行为.
#鼠标悬停例子
mouse=driver.find_element_by_link_text("设置")           #确定元素位置
ActionChains(driver).move_to_element(mouse).perform()    #  move_to_element()鼠标悬停 
#移动操作的例子
element = driver.find_element_by_name("source") #定位元素的原位置 
target = driver.find_element_by_name("target")  #定位元素要移动到的目标位置 
ActionChains(driver).drag_and_drop(element, target).perform() #执行元素的移动操作 
#鼠标双击示例:
qqq =driver.find_element_by_xpath("xxx")            #定位到要双击的元素
ActionChains(driver).double_click(qqq).perform()    #对定位到的元素执行鼠标双击操作 
6.下拉框的操作
#分两步,先定位下拉框,再点击选项
choice = driver.find_element_by_name("NR")
Select(choice).select_by_index(2)
#select_by_index() 方法给出的下拉框,索引来定位选择对应选项(从0开始计数)

其他:

代码含义
select_by_index()通过索引定位
select_by_value()通过value值定位
select_by_visible_text()通过文本值定位
deselect_all() :取消所有选项
deselect_by_index()取消对应index选项
deselect_by_value()取消对应value选项
deselect_by_visible_text()取消对应文本选项
first_selected_option()返回第一个选项
all_selected_options()返回所有的选项
7.处理弹出窗口

弹出窗口有几种不同的类型:alert(一个按钮),confirm(确认,取消),prompt(两个按钮+输入框)。

driver.switch_to.alert.accept()
#这个是处理弹窗,accept()确认
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值