ui自动化相关

coding=utf-8

from selenium import webdriver
from time import sleep
from selenium.webdriver.common.action_chains import ActionChains#导入鼠标相关库
from selenium.webdriver.support.ui import Select#导入下拉选项库
driver=webdriver.Chrome()
driver.maximize_window()

driver.get(“http://www.baidu.com”)

sleep(3)

driver.get(“http://www.jd.com”)

1.切换窗口

driver.get(“http://www.baidu.com”)

sleep(3)

win=‘window.open(“http://www.jd.com”)’

driver.execute_script(win)#execute_script执行函数

title=driver.title#还是百度一下,没有选择jd

print title

hande=driver.current_window_handle#获取窗口句柄

print hande

handes=driver.window_handles#获取所有窗口句柄

print handes

for i in handes:

if i != hande:#句柄不是百度时

driver.switch_to.window(i)#选择这个句柄窗口

title=driver.title

print title

2.通过索引的方式获取句柄,选择窗口

driver.get(“http://www.baidu.com”)

sleep(3)

win=‘window.open(“http://www.jd.com”)’

driver.execute_script(win)

hande=driver.current_window_handle#获取窗口句柄

print hande

handes=driver.window_handles#获取所有窗口句柄

print handes

driver.switch_to.window(handes[1])#通过索引的方式切换窗口

title1=driver.title

print title1

#获取窗口大小,关闭窗口,关闭浏览器

driver.get(“http://www.baidu.com”)

driver.implicitly_wait(10)

t=driver.get_window_size()#获取当前窗口大小

print t

win=‘window.open(“http://www.jd.com”)’

driver.execute_script(win)

sleep(3)

driver.close()#关闭当前窗口

driver.quit()#关闭所有浏览器

鼠标悬停

from selenium.webdriver.common.action_chains import ActionChains#导入鼠标相关库

from selenium.webdriver.support.ui import Select#导入下拉选项库

driver.get(“http://www.baidu.com”)

driver.implicitly_wait(10)

a=driver.find_element_by_link_text(“设置”)#将设置按钮属性赋值给A变量

sleep(1)

ActionChains(driver).move_to_element(a).perform()#通过谷歌鼠标放置在属性为:设置 上后进行点击

driver.find_element_by_link_text(“搜索设置”).click()#点击搜索设置

sleep(1)

选择下拉选项

driver.find_element_by_id(“nr”).click()

driver.find_element_by_xpath("//*[@id=‘nr’]/option[3]").click()#通过点击方式选择下拉列表

s=driver.find_element_by_id(“nr”)

Select(s).select_by_index(1)#调用下拉选择库,通过索引位选择具体选项

Select(s).select_by_value(“20”)#调用下拉选择库,通过value值选择具体选项

Select(s).select_by_visible_text(“每页显示50条”)#调用下拉选择库,通过文本选择具体选项

#弹框确认

driver.find_element_by_link_text(“保存设置”).click()

sleep(1)

t=driver.switch_to.alert#选择弹框

# t.accept()#弹框确认

t.dismiss()#弹框取消

‘’’
driver.get(“file:///D:/%E6%B5%8B%E8%AF%95%E5%B7%A5%E7%A8%8B%E5%B8%88/%E8%AF%BE%E4%BB%B6/alert%E5%BC%B9%E6%A1%86.html”)

driver.switch_to.alert.accept()

driver.switch_to.alert.dismiss()#弹框确认
sleep(3)
driver.switch_to.alert.accept()#弹框取消
‘’’

进入iframe框

‘’’
driver.get(“http://www.jd.com”)
driver.implicitly_wait(10)
driver.find_element_by_link_text(“登录”).click()
driver.implicitly_wait(10)
driver.find_element_by_css_selector(".QQ-icon").click()
sleep(2)
iframe=driver.find_element_by_id(“ptlogin_iframe”)#定位iframe框
driver.switch_to.frame(iframe)#切换到iframe框
sleep(1)
driver.find_element_by_css_selector(".img_out_focus").click()

第二种进入iframe框方式

driver.switch_to.frame(0)#通过索引的方式进入iframe框

第三种进入iframe框方式

driver.switch_to.frame(driver.find_element_by_tag_name(“iframe”))
‘’’

driver.get(“http://www.mail.163.com/”)

driver.implicitly_wait(10)

driver.find_element_by_id(“lbNormal”).click()

driver.switch_to.frame(driver.find_element_by_xpath("//*[@id=‘loginDiv’]/iframe[1]"))#进入frame框

sleep(2)

driver.find_element_by_name(“email”).send_keys(“18379432324”)

driver.find_element_by_name(“password”).send_keys(“11210000mm”)

driver.find_element_by_id(“dologin”).click()

driver.switch_to.default_content()#退出frame框

def find_element(locator,*value):

‘’’

封装一个工具函数

:param locator:

:param value:

:return:

‘’’

return driver.find_element_by_id(locator).send_keys(*value)

#每次调用只需传参即可

if name==‘main’:

find_element(“kw”,“python”)#调用普通函数用此两个普通参数

find_element(“kw”,(Keys.CONTROL,“a”))#全选

find_element(“kw”,(Keys.CONTROL,“x”))#剪切

#页面滑动

driver.get(“http:www.jd.com”)

win=‘window.scrollTo(0,1000)’

driver.execute_script(win)

js方法,滚动定位

js1=“var a=document.documentElement.scrollTop=2000”

driver.execute_script(js1)

sleep(3)

js2=“var a=document.documentElement.scrollTop=0”

driver.execute_script(js2)

#while方法定位滚动
‘’’
n=0
while n<5000:
n+=1000
j=“var a=document.documentElement.scrollTop=”+str(n)#字符串拼接不同定位实现滚动
driver.execute_script(j)#执行
sleep(3)#三秒滑动一次
‘’’

#keys类

from selenium.webdriver.common.keys import Keys#导入keys类
driver.get(“http://www.baidu.com”)
driver.find_element_by_id(“kw”).send_keys(“python”)
sleep(2)
driver.find_element_by_id(“kw”).send_keys(Keys.BACK_SPACE)#删除最后一个字符
sleep(2)
driver.find_element_by_id(“kw”).send_keys(Keys.SPACE)
sleep(2)
driver.find_element_by_id(“kw”).send_keys(Keys.ENTER)#回车
sleep(2)
driver.find_element_by_id(“kw”).send_keys(Keys.CONTROL,“a”)#全选
sleep(2)
driver.find_element_by_id(“kw”).send_keys(Keys.CONTROL,“x”)#剪切
sleep(2)
driver.find_element_by_id(“kw”).send_keys(Keys.CONTROL,“v”)#粘贴
sleep(2)
driver.find_element_by_id(“kw”).clear()#清空

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值