zoukankan      html  css  js  c++  java
  • selenium常用方法

    导语

    selenium元素定位和常用方法类似,都是和HTML页面元素打交道,元素定位负责对元素进行定位,常用方法负责对元素做相应操作,两者配合一起使用完成UI自动化

    基本方法

    1.send_keys方法

    此方法模拟键盘输入

    from selenium import webdriver
    
    driver = webdriver.Chrome()
    driver.get('http://www.baidu.com')
    driver.find_element_by_id('kw').send_keys(123)
    

    2.text方法

    selenium提供了text方法来获取文本值,即HTML的里的文字

    from selenium import webdriver
    
    driver = webdriver.Chrome()
    driver.get('http://www.baidu.com')
    name = driver.find_element_by_xpath('//*[@id="s-top-left"]/a[1]').text
    print(name)
    

    3.get_attribute()获取属性值

    以百度首页的“百度一下”按钮为例,获取属性value对应的值,可以使用get_attribute方法实现

    from selenium import webdriver
    
    driver = webdriver.Chrome()
    driver.get('http://www.baidu.com')
    tmp = driver.find_element_by_id('su').get_attribute('value')
    print(tmp)
    driver.quit()
    

    4.maximize_window方法

    该方法用来实现窗口最大化的操作

    from selenium import webdriver
    
    driver = webdriver.Chrome()
    driver.maximize_window()
    driver.get('http://www.baidu.com')
    driver.quit()
    

    5.current_window_handle方法

    该方法返回窗口句柄,即标识窗口字符串

    from selenium import webdriver
    
    driver = webdriver.Chrome()
    driver.maximize_window()
    driver.get('http://www.baidu.com')
    print(driver.current_window_handle)
    driver.quit()
    

    输出:

    CDwindow-6169753D4993CF2844A8EEEB476B22FF
    

    6.current_url方法

    该方法获取当前窗口的url

    from selenium import webdriver
    
    driver = webdriver.Chrome()
    driver.maximize_window()
    driver.get('http://www.baidu.com')
    print(driver.current_url)
    driver.quit()
    

    输出:

    https://www.baidu.com/
    

    7.is_selected()方法

    判断元素是否被选择,多用于选择框,如果多选框是被选中的状态返回True,反之返回False

    driver.find_element_by_id('su').is_selected()
    

    8.is_enabled()

    判断页面元素是否可用,可用则返回True,反之则返回False

    driver.find_element_by_id('su').is_enabled()
    

    9.is_displayed()方法

    判断元素在页面中是否显示,显示则返回True,反之则返回False

    driver.find_element_by_id('su').is_displayed()
    

    10.clear()

    清除输入框值,以百度搜索为例

    from selenium import webdriver
    from time import sleep
    
    driver = webdriver.Chrome()
    driver.maximize_window()
    driver.get('http://www.baidu.com')
    driver.find_element_by_id('kw').send_keys(123)
    sleep(2)
    driver.find_element_by_id('kw').clear()
    sleep(2)
    driver.quit()
    

    11.quit()

    关闭浏览器并杀掉chromedriver进程,以Linux为例

    from selenium import webdriver
    from time import sleep
    
    driver = webdriver.Chrome()
    driver.maximize_window()
    driver.get('http://www.baidu.com')
    driver.find_element_by_id('kw').send_keys(123)
    sleep(2)
    driver.find_element_by_id('kw').clear()
    sleep(2)
    driver.quit()
    

    12.title

    获取页面的title,以百度首页为例

    from selenium import webdriver
    
    driver = webdriver.Chrome()
    driver.maximize_window()
    driver.get('http://www.baidu.com')
    print(driver.title)
    driver.quit()
    

    输出:

    百度一下,你就知道
    

    13.refresh()

    刷新页面,类似于键盘上的F5

    from selenium import webdriver
    from time import sleep
    
    driver = webdriver.Chrome()
    driver.maximize_window()
    driver.get('http://www.baidu.com')
    sleep(1)
    driver.refresh()
    sleep(1)
    driver.quit()
    

    14.back()

    浏览器工具栏向后操作,以访问百度后输入内容并搜索,再返回到主页为例

    from selenium import webdriver
    from time import sleep
    
    driver = webdriver.Chrome()
    driver.maximize_window()
    driver.get('http://www.baidu.com')
    driver.find_element_by_id('kw').send_keys('python')
    sleep(1)
    driver.find_element_by_id('su').click()
    sleep(1)
    driver.back()
    sleep(1)
    driver.quit()
    

    15.forward()

    浏览器向前操作

    from selenium import webdriver
    from time import sleep
    
    driver = webdriver.Chrome()
    driver.maximize_window()
    driver.get('http://www.baidu.com')
    driver.find_element_by_id('kw').send_keys('python')
    sleep(1)
    driver.find_element_by_id('su').click()
    sleep(1)
    driver.back()
    sleep(1)
    driver.forward()
    sleep(3)
    driver.quit()
    
  • 相关阅读:
    你像一道阳光,照进我的心里
    why
    存储过程 或视图的字符串查询
    C# DataGridView 导出Excle代码和总结(转)
    年夜饭
    登陆SQL Server 2008时提示评估期已过的解决办法
    斐波那契可以考虑的地方?
    解决 UPDATEPANEL 内 ScriptManager1.SetFocus 设置焦点 输入法 变更的问题
    跨域 iframe 读写 cookie的 那点事
    javascript 节点操作
  • 原文地址:https://www.cnblogs.com/Jerry165/p/13702451.html
Copyright © 2011-2022 走看看