Selenium常用方法总结

题1:浏览器基本操作(如打开浏览器、输入地址、网页最大化等)

driver = webdriver.Chrome()   	                #获取浏览器对象
driver.get("http://www.baidu.com")              #打开浏览器
driver.maximize_window()                        #设置浏览器最大化
driver.set_window_size(400,400)                 #自定义浏览器窗口大小
driver.get_screenshot_as_file('./pict.png')     #浏览器窗口截图   
driver.quit()									#退出并关闭驱动程序

题 2:Selenium 元素定位方法:id 定位

driver.find_element_by_id('kw').send_keys('xiaohui')

题 3:Selenium 元素定位方法:name 定位

driver.find_element_by_name('wd').send_keys('xiaohui')

题 4:Selenium 元素定位方法:xpath 定位

driver.find_element_by_xpath('//*[@id="kw"]').send_keys('xiaohui')

题 5:Selenium 元素定位方法:css_selector 定位

driver.find_element_by_css_selector('#kw').send_keys('xiaohui') 

题 6:Selenium 元素定位方法:link_text 定位

driver.find_element_by_link_text('新闻').click() 

题 7:Selenium 元素定位方法:partial_link_text 定位

driver.find_element_by_partial_link_text('hao').click() 

题 8:Selenium 元素定位方法:class_name 定位

driver.find_element_by_class_name('s_ipt').send_keys('xiaohui')

题 9:Selenium 元素定位方法:tag_name 定位

driver.find_element_by_tag_name('input').send_keys('oo')

题 10:Selenium 复数元素定位方法

driver.find_elements_by_class_name('mnav')[0].click()   #其他类似

题 11:Selenium 之鼠标模拟操作

from selenium.webdriver.common.action_chains import ActionChains
														#ActionChains 类鼠标操作的常用方法
ele = driver.find_element_by_link_text('更多产品')
ActionChains(driver).context_click(ele).perform()     		#右击
ActionChains(driver).double_click(ele).perform()      		#双击
ActionChains(driver).move_to_element(ele).perform()       	#鼠标悬停在一个元素上
......

'''
每个动作都要.perform() 才能生效
'''

题 12:Selenium 之键盘模拟操作

from selenium.webdriver.common.keys import Keys   #导包
send_keys(Keys.BACK_SPACE)	    #删除键(BackSpace)
send_keys(Keys.SPACE)	        #空格键(Space)
send_keys(Keys.TAB)	            #制表键(Tab)
send_keys(Keys.ESCAPE) 	        #回退键(Esc)
send_keys(Keys.ENTER)	        #回车键(Enter)
send_keys(Keys.CONTROL,'a')	    #全选(Ctrl+A)
send_keys(Keys.CONTROL,'c')	    #复制(Ctrl+C)
send_keys(Keys.CONTROL,'x')	    #剪切(Ctrl+X)
send_keys(Keys.CONTROL,'v')	    #粘贴(Ctrl+V)

......

题 13:Selenium 之时间等待处理

sleep(10)   #强制等待10s
driver.implicitly_wait(50)   #这个等待的时间是不固定的,最长的等待也莫过于我们设置的最大值

题 14:Selenium 之 sumbit()方法使用

driver.find_element_by_xpath('//*[@id="su"]').submit()  #用于表单提交,type为submit

题 15:Selenium 之页面中下拉框的处理

from selenium.webdriver.support.select import Select      #需导包
select = Select(driver.find_element_by_name('depart'))    #实例化一个Select类的对象
select.select_by_index(1)                               # 通过index进行选择,index从0开始
select.select_by_value("London")                        # 通过value属性值进行选择
select.select_by_visible_text("London")                 # 通过标签显示的text进行选择

题 16:Selenium 之操作下拉滚动条方法

target = driver.find_element_by_id("id_keypair")
driver.execute_script("arguments[0].scrollIntoView();", target) #拖动到可见的元素去

题 17:Selenium 之frame框架切换

driver.switch_to.frame(1)           #利用frame的脚标切换
driver.switch_to.frame("body")      #利用frame的name值或id进行切换
driver.switch_to.frame(driver.find_element_by_xpath('/html/frameset/frame[2]'))  
								    #用WebElement对象来定位
driver.switch_to.parent_frame()     #从子frame切到父frame
driver.switch_to.default_content()  #回到主文档
'''
注意点:已经切换到frame框架里面了,如果页面发生了刷新,需要重新定位进去
'''
  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值