Selenium with Python 文档

http://selenium-python.readthedocs.io/installation.html#introduction

1. 知识点:

  • 定位(8大定位)
  • click,sendkeys
  • select,Drag and drop
  • 切换窗口
  • 处理alert,alert.accept/dismissed
  • back and forward
  • 处理cookies
  • waits--Explicit Waits:下面的code等待某事件发生才继续进行,举例如下:相对等待

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

driver = webdriver.Firefox()
driver.get("http://somedomain/url_that_delays_loading")
try:
    element = WebDriverWait(driver, 10).until(
        EC.presence_of_element_located((By.ID, "myDynamicElement"))
    )
finally:
    driver.quit()
自定义等待情况:

自定义类然后定义__call__(self, driver)方法返回False如果结果不匹配的情况下

Implicit Waits绝对等待,类似sleep,等待一个固定时间

  • 上传文件,.sendkeys("文件地址")
  • 下载文件
  • 保存截图 driver.save_screenshot

2. API

from selenium import webdriver

webdriver.Firefox
webdriver.FirefoxProfile
webdriver.Chrome
webdriver.ChromeOptions
webdriver.Ie
webdriver.Opera
webdriver.PhantomJS
webdriver.Remote
webdriver.DesiredCapabilities
webdriver.ActionChains
webdriver.TouchActions
webdriver.Proxy
from selenium.webdriver.common.keys import Keys

from selenium.common.exceptions import [TheNameOfTheExceptionClass]

2.1 Action Chains

from selenium.webdriver.common.action_chains import ActionChains

Actions:

  • click(on_element=None)点击或点击某个元素
  • click_and_hold(on_element=None)长按或长按某个元素
  • context_click(on_element=None)右键点击或右键点击某个元素
  • double_click(on_element=None)双击或双击某个元素
  • drag_and_drop(source, target)拖拽
  • drag_and_drop_by_offset(source, xoffset, yoffset)拖拽到某个点
  • key_down(value, element=None)按下某键,value为key类的某值,例如key.CONTROL
  • key_up(value, element=None)放开某键
  • move_by_offset(xoffset, yoffset)把鼠标移动一定距离
  • move_to_element(to_element)把鼠标移动到某元素的中心位置
  • move_to_element_with_offset(to_element, xoffset, yoffset)把一个元素移动一定距离,以左上角为基准
  • perform() ActiveChains最后的实现
  • release(on_element=None)释放某个元素
  • reset_actions()清除所有存储的动作
  • send_keys(*keys_to_send)
  • send_keys_to_element(element, *keys_to_send)

2.2 Alerts

from selenium.webdriver.common.alert import Alert

accept()确认

dismiss()取消

authenticate(username, password)输入用户名密码并点击OK

send_keys(keysToSend)向alert输入文字

text得到alert上的文字

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值