selenium自动化(二)

显示等待(针对1个元素)、隐式等待(针对多个元素)

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By

driver = webdriver.Firefox()
driver.get("http://www.baidu.com")

element = WebDriverWait(driver,10,0.5).until(lambda x: x.find_element_by_id("kw"))
element.click()
element = WebDriverWait(driver,5,1).until(EC.presence_of_element_located((By.ID,"kw")))
element.click()
driver.implicitly_wait(10)

切换窗口、frame

driver.switch_to.frame("if")
driver.switch_to.alert().accept()

old_window = driver.current_window_handle
all_handles = driver.window_handles
for handle in all_handles:
    if handle != old_window:
        driver.switch_to.window(handle)
        print(driver.title)
Cookie操作(绕过验证码可以添加cookie到浏览器)
cookies = driver.get_cookies()
cookie = driver.get_cookie('hy')
driver.add_cookie({'username':'hy11','pwd':'21233'})
driver.delete_all_cookies()
JavaScript

js = "window.scrollTo(100,480)"
driver.execute_script(js)

text = "input content to textarea"
js = "var sum=document.getElementById('kw'); sum.value='" + text + "';"
driver.execute_script(js)

判断元素(expected_conditions)

1、判断页面标题

title1 = EC.title_is("51zxw")(driver)
title2 = EC.title_contains("51")(driver)
print(title1)  #ture
print(title2)  #ture
2、判断弹出框是否存在

result = EC.alert_is_present()(driver)
if result:
    result.accept()
else:
    print("alert is not exist")
3、判断元素中是否包含指定文本

element = ("name","truomi")
result = EC.text_to_be_present_in_element(element,u'糯米')(driver)

全屏截图

driver.get_screenshot_as_file("d:\error\imag.png")
driver.get_screenshot_as_base64()  #截图到html 报告中

单个元素截图

element = driver.find_element_by_css_selector("#kw")
element.screenshot('error.png')
element.screenshot_as_base64()
element.screenshot_as_png()






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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值