zoukankan      html  css  js  c++  java
  • Python3+Selenium3自动化测试-(三)

    此前对网页内容进行元素定位的操作,接下来就可以对已经定位的元素进行操作了,一般情况下定位好元素后通过IDE的提示就可以了解到有哪些方法

    # coding = utf-8
    import time
    from selenium import webdriver
    from selenium.webdriver.common.by import By
    
    driver = webdriver.Chrome()
    # 打开百度
    driver.get("https://www.baidu.com/")
    
    driver.find_element(By.ID, 'kw').clear()  # 清除文本框中内容
    driver.find_element(By.ID, 'kw').send_keys("selenium")  # 在搜索框中输入“selenium”
    driver.find_element(By.ID, 'su').click()  # 点击搜索按钮
    
    time.sleep(5)
    
    driver.find_element(By.ID, 'kw').clear()
    driver.find_element(By.ID, 'kw').send_keys("豆瓣")
    driver.find_element(By.ID, 'kw').submit()  # 同样可以通过submit进行提交搜索操作,相当于回车
    
    time.sleep(5)
    
    url_1 = driver.find_element(
        By.XPATH, '//*[@id="1"]/h3/a[1]').get_attribute('href')  # 获取元素属性,这里得到a标签中的href链接
    
    driver.get(url_1)  # 进入刚刚获取的链接地址
    eles = driver.find_elements(By.CLASS_NAME, 'pl')  # 定位class_name为“pl”的元素列表
    
    for i in eles:
        print(i.text, i.tag_name)  # 输出所有“pl”文本内容及类型
    
    time.sleep(5)
    
    # 在知乎首页的热点内容中有部分是四张照片,通过chrome工具查看可以知晓图片的尺寸是170*170,如果通过selenium是如何呢?
    img = driver.find_element(By.XPATH, '//*[@id="anony-sns"]/div/div[3]/div/div[1]/ul/li[1]/div/a/img') # 照例先定位元素
    print(img.size) # 很简单就可以得到图片的尺寸
    
    time.sleep(5)
    
    driver.quit()
    

      

    在上面的代码中,演练了多种常用方法

    输入和点击

    在定位好元素后,清除搜索框内内容后输入需要搜索的元素,点击搜索的按钮提交搜索信息

     .clear() 、 .send_keys("str") 、使用 .click() 点击搜索按钮提交或 .submit() 模拟回车提交搜索

    获取元素属性

    通过定位元素位置后,就可以获得元素的诸多属性信息,当然是源代码中元素属性存在的情况下。

    在上述代码中,依次通过 .get_attribute('href') 、 element.text 、 element.tag_name 、 element.size 获得了属性值href、元素文本内容、元素标签名、元素尺寸这些常用的方法。

  • 相关阅读:
    函数宏实现循环左移
    函数宏判断小端
    Linux下32位与64位数据类型大小
    转:C语言嵌入式系统编程之软件架构篇
    转:详解大端小段模式
    time函数计算时间
    匈牙利命名法
    20131030
    20131029
    20131028
  • 原文地址:https://www.cnblogs.com/xihuineng/p/10496369.html
Copyright © 2011-2022 走看看