zoukankan      html  css  js  c++  java
  • selenium webdriver python 元素操作

    常用操作

    click

    点击某个元素
    driver.find_element_by_id(“su”).click()
     
    clear
    driver.find_element_by_id(“kw”).clear()
     
    send_keys
    模拟键盘输入
    driver.find_element_by_id(“kw”).send_keys(“hello”)
    from selenium.webdriver.common.keys import Keys
    driver.find_element_by_id(“kw”).send_keys(Keys.RETURN)
     
    获取元素的状态:
    是否显示:element.is_displayed()
    是否被选中:button_elem.is_selected()
    是否enable:element.is_enabled()

    提交表单

    表单在网页中主要负责数据采集功能。

    填写完表单之后,我们需要提交表单。有两个方法可以提交表单。

    方法一:找到提交表单的button元素(或其他种类),进行点击操作
    driver.find_element_by_id(“submit_button”).click()

    方法二:调用submit()方法
    每个元素都有一个submit()方法。如果该元素在表单内,WebDriver会自己寻找form的闭包然后在它上面调用submit方法;如果该元素不在表单内,则raise一个NoSuchElementException 。
    driver.find_element_by_id(“su”).submit()

    拖拽操作

    from selenium.webdriver import ActionChains

    source_ele=driver.find_element_by_name(“source”)

    target_ele=driver.find_element_by_name(“target”)

    ActionChains(driver).drag_and_drop(source_ele,target_ele)

    切换window

     
    driver.switch_to_window(“windowName”)

    切换frame

     
    driver.switch_to_frame(“frameName”)
    driver.switch_to_frame(“frameName.0.childName”)

    弹出框

    切换到alert,并且返回当前打开的alert对象。

    alert=driver.switch_to_alert()
     
    alert.accept()
    alert.dismiss()
    alert.text()
    alert.send_keys(“hello”)
     

    Cookie

    复制代码
    cookie={“name”:”cookie_name”,’value’:’cookie_value’}
    driver.add_cookie(cookie)
    all_cookies=driver.get_cookies()
    for cookie_name,cookie_value in all_cookies.items():
    Print “%s->%s”%(cookie_name,cookie_value)
    
    driver.delete(“cookieName”)
    driver.delete_all_cookies()
    复制代码

    键盘事件

    常用键盘键

    Keys.RETURN
    Keys.ENTER
    Keys.TAB
     
    from selenium.webdriver.common.keys import Keys
    driver.find_element_by_id(“kw”).send_keys(Keys.RETURN)
    driver.find_element_by_id(“kw”).send_keys(Keys.CONTROL,’a’)
    driver.find_element_by_id(“kw”).send_keys(u”百度一下”)
  • 相关阅读:
    Linux编程之自定义消息队列
    MVC5学习系列--Razor视图(一)
    JS将秒转换为 天-时-分-秒
    自己封装了一个EF的上下文类.,分享一下,顺便求大神指点
    VS2015企业版,社区版,专业版详细对比
    [干货来袭]C#6.0新特性
    WebApp上滑加载数据...
    用SignalR 2.0开发客服系统[系列5:使用SignalR的中文简体语言包和其他技术点]
    用SignalR 2.0开发客服系统[系列4:负载均衡的情况下使用SignalR]
    用SignalR 2.0开发客服系统[系列3:实现点对点通讯]
  • 原文地址:https://www.cnblogs.com/jxldjsn/p/7325282.html
Copyright © 2011-2022 走看看