zoukankan      html  css  js  c++  java
  • selenium

    定位元素之后,要对元素进行操作。如按钮,进行点击操作;编辑框,进行输入操作等。以下是几种常见的元素操作:

    • clear()   清除文本
    • send_keys()  模拟键盘输入
    • click()   单击
    • submit()  提交表单
    • text  返回元素文本
    • size()  返回元素尺寸
    • get_attibute()  返回属性值
    • is_displayed()  返回该元素是否用户可见
    • title  返回当前页面的标题
    • url  返回当前页面的url

    下面分别介绍:

    1. clear()、send_keys()、click()

    from selenium import webdriver
    import time
    
    driver = webdriver.Chrome()
    driver.get('http://www.baidu.com')
    
    element = driver.find_element_by_id('kw')
    element.send_keys('zhangyang')     # 输入zhangyang
    time.sleep(2)
    element.clear()                    # 清除输入框中的内容
    time.sleep(2)
    element.send_keys('zhangsanfeng')  # 输入zhangsanfeng
    driver.find_element_by_id('su').click()   # 点击百度一下按钮
    
    time.sleep(5)
    driver.close()

     send_keys()不仅可以模拟键盘输入,还可以发送键盘按键,模拟文件上传等

    element = driver.find_element_by_id('kw')
    element.send_keys('zhangyang')     
    element.send_keys(Keys.ENTER)     # 模拟回车键

    2. submit()

    用于提交表单。例如,在百度搜索框输入内容后,回车操作,就可以通过submit()方法模拟

    from selenium import webdriver
    import time
    
    driver = webdriver.Chrome()
    driver.get('http://www.baidu.com')
    
    element = driver.find_element_by_id('kw')
    element.send_keys('zhangyang')
    element.submit()         # 这样就不用点击百度一下按钮了,直接提交输入的内容
    
    time.sleep(5)
    
    driver.close()

    有时候submit()可以与click()方法互换使用,submit()同样也可以提交一个按钮,但submit()的应用远不及click()广泛 

    driver = webdriver.Chrome()
    driver.get('http://www.baidu.com')
    
    driver.find_element_by_id('kw').send_keys('zhangyang')
    driver.find_element_by_id('su').submit()    # 提交百度一下按钮

    3. text

     用于获取两个尖括号之间的文本

    例如:获取百度首页的 新闻

    text1 = driver.find_element_by_name('tj_trnews').text   # 获取新闻文本
    print(text1)    # 打印:新闻

    4. size()、get_attribute()、is_displayed()

     以百度首页为例,如下:

    size1 = driver.find_element_by_id('su').size
    print(size1)    # 打印: {'height': 36, 'width': 100}
    
    result = driver.find_element_by_id('su').is_displayed()
    print(result)   # 打印: True
    
    text1 = driver.find_element_by_link_text('新闻').get_attribute('href')
    print(text1)    # 打印: http://news.baidu.com/,若想获取按钮上的文本,也可通过name或class name属性获取

    5. title、url

     分别打印百度首页的title和url,如下:

    title1 = driver.title
    print(title1)   # 打印:百度一下,你就知道
    
    url1 = driver.current_url
    print(url1)    # 打印:https://www.baidu.com/
  • 相关阅读:
    进程与线程(二) java进程的内存模型
    进程学习(一) 进程的地址空间
    在一个数组中除两个数字只出现1次外,其它数字都出现了2次
    倒水问题
    leecode 树是否是平衡树 java
    Max Sum
    Encoding
    海阔天空-
    Binomial Showdown
    Square
  • 原文地址:https://www.cnblogs.com/xiaochongc/p/12433196.html
Copyright © 2011-2022 走看看