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”百度一下”)

    鼠标右击

    from selenium.webdriver import ActionChains

    ActionChains(driver).context_click(su_elem).perform()

    鼠标双击

    ActionChains(driver).double_click(su_elem).perform()

  • 相关阅读:
    基于windows server 2016和sqlserver 2016 AlwaysOn的群集配置
    Mysql基于Mysql Cluster+MysqlRouter的集群部署方案
    阿里云ECS部署Redis主备哨兵集群遇到的问题
    Informix数据库配置与连接
    Linux系统中Redis和Tomcat的PID文件路径设置
    Linux端口映射,80端口映射到8080端口
    Tomcat优化配置
    Tomcat配置自定义JAVA环境
    VMware虚拟机系统无法使用桥接联网
    PostgreSQL远程访问设置
  • 原文地址:https://www.cnblogs.com/miniren/p/4980464.html
Copyright © 2011-2022 走看看