• selenium 常用API


    页面定位元素:

    find_element_by_id()
    find_element_by_name()
    find_element_by_class_name()
    find_element_by_tag_name()
    find_element_by_link_text()
    find_element_by_partial_link_text()
    find_element_by_xpath()
    find_element_by_css_selector()

    键盘事件Keys类:

    end_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)

    ActionChains 类鼠标操作的常用方法:

    context_click() 右击

    double_click() 双击

    drag_and_drop() 拖动

    move_to_element() 鼠标悬停在一个元素上

    click_and_hold() 按下鼠标左键在一个元素上

    context_click() 右键点击一个元素。

     

    浏览器多窗口:

    current_window_handle
    获得当前窗口句柄
    window_handles
    返回的所有窗口的句柄到当前会话
    switch_to_window()
    用于处理多窗口操作的方法,与我们前面学过的 switch_to_frame() 是类似,switch_to_window()用于
    处理多窗口之前切换,switch_to_frame() 用于处理多框架的切换。
    close()
    如果你足够细心会发现我们在关闭“注册页”时用的是 close()方法,而非 quit();close()用于关闭当前
    窗口,quit()用于退出驱动程序并关闭所有相关窗口

    定位frame框架:

    switch_to_frame(‘id’)或name

    定位一组对象:

    find_elements_by_tag_name()

    设置等待时间:

    WebDriverWait(WebDriverWait,5,1).until(lambda d:driver.find_element_by_id('kw')) 每个1秒检查是否找到元素,5秒超时,直到返回值不为 False

    WebDriverWait(WebDriverWait,5,1).until_not(lambda d:driver.find_element_by_id('kw').is_displayed()) 直到返回值不为 False

    implicitly_wait(5) 找到元素直接执行下一步,否则等待5秒元素出现

    clear() 用于清除输入框的默认内容
    比如登录框内一般默认会有“账号” “密码”等提示信息,如果直接输入内容,和可能会与输入框的
    默认提示信息拼接,从而造成输入信息的错误;这时 clear()将变得非常有用。


    send_keys("xx") 用于在一个输入框里输入 xx 内容

    click() 用于单击一个按钮
    其实 click()方法不仅仅用于点击一个按钮,可以单击任何可以点击的元素,文字/图片连接,按钮,
    下拉按钮等。


    submit() 提交表单
    submit()要求提交对象是一个表单,更强调对信息的提交。click()更强调
    事件的独立性。 (比如,一个文字链接就不能用 submit()方法。 )

    size 返回元素大小

    例如,driver.find_element_by_id("kw").size

    text 获取元素的文本

    例如,driver.find_element_by_id("kw").size

    get_attribute(name) 获取属性值

    例如,driver.find_element_by_id("kw").get_attribute('type')

    is_displayed() 元素是否可见

    例如,driver.find_element_by_id("kw").is_displayed()

    alert/confirm/prompt处理:

    switch_to_alert() 切换到alert

    switch_to_alert().text 获取alert文本

    switch_to_alert().accept() 确定

    switch_to_alert().dismiss 取消

    switch_to_alert().send_keys('') 输入值

    上传文件可以用send_keys

    执行js拖动滚动条:

    例如,js = 'var q=document.documentElement.scrollTop=10000'

    driver.execute_script(js)

  • 相关阅读:
    PHP7.27: connect mysql 5.7 using new mysqli
    PHP: Browser, Operating System (OS), Device, and Language Detect
    PHP 在WIN10 下配置
    MySQL chartset
    學習Echart 2.2.7
    The open source JavaScript graphing library that powers Plotly
    D3.js 制作中国地图
    FastReport.Net
    CSS 3D transforms
    SparkCore的调优之开发调优
  • 原文地址:https://www.cnblogs.com/myprovencesky/p/5864108.html
Copyright © 2020-2023  润新知