码迷,mamicode.com
首页 > 其他好文 > 详细

selenium获取元素内容,iframe切换,和常用方法

时间:2019-09-10 15:01:29      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:find   val   文件   false   搜索   href   use   art   原来   

  • 获取元素信息

    1. text 属性,显示该元素在web页面显示出来的文本内容

    2. get_attribute方法

      获取某个属性的值:

        element.get_attribute(元素属性)

        element.get_attribute(‘href‘)

        element.get_attribute(‘style‘)

      获取该元素对应HTML源代码:

        element.get_attribute(‘outerHTML‘)

      获取该元素的内部部分的HTML源代码:

        element.get_attribute(‘innerHTML‘)

  • BeautifulSoup4库  

    这种方式使用的频率很少,大家可以百度查找详细的介绍信息。

  • 隐士等待时间

    driver.implicitly_wait(10)

  • 显示等待

    from selenium.webdriver.support.ui import WebDriver

    from selenium.webdriver.support import expected_conditions as EC

    from selenium.webdriver.common.by import By    

    ele = WebDriverWait(driver,60)

 

    until(EC.presence_of_element_located((By.ID,‘username‘)))

 

    #等待60s,知道一个元素出现,id为username的元素

      举个实例:  

#为id为1的元素先设置隐士等待=60秒,无论找到未找到,隐士等待时间都会重置为10秒
driver.implicitly_wait(60)
try:
    ele = driver.find_element_by_id(1)
    print (ele.text)

    if ele.text.startswith(松勤网 - 松勤软件测试)
        print(pass)
    else:
        print(fail)
except:
    print(exception happend)
finally:
    driver.implicitly_wait(10)
  • frame处理 : 网页中内嵌的网页,frame/iframe

      切换frame

        driver.switch_to.frame(frame_reference)

          1. frame元素的name属性或者ID属性

          2. 索引值(从0开始)

          3. frame所对应的WebElement :   driver.find_element_by_tag_name("iframe")

      切换回主html里面:  driver.switch_to.default_content() 

  • 清除元素中的字符串

    clear方法  :  input1.clear()

  • 获取文本框中输入的内容

    get_attribute() : 获取input元素里面输入的文本内容

    input1.get_attribute(‘value‘)

  • 单选框

    type = "radio"

    click()方法选择 : 不管原来该元素是否选中,直接去点击该元素没有问题都可以确保该单选框选中

  • 勾选框

    type = "checkbox"

    click()方法选择 

    is_selected()方法来获取选择的状态:

        True :已经选中

        False:未选中

  • 复选框

    select,有multiple可以多选,不写则单选    

    可以用selenium的Select类

    导入类: from selenium.webdriver.support.ui import Select

    方法deselect_all() : 清掉所有选中的元素

    方法select_by_visible_text("值"):根据复选框中文本信息选中

    实例如下:  

#导入Select类
from selenium.webdriver.support.ui import Select
#获得相应的WebElement
select = Select(driver.find_element_by_id("multi"))
#去除选择所有的选项
select.deselect_all()
select.select_by_visible_text("雅阁")
select.select_by_visible_text("宝马 740")

#获得相应的WebElement
select = Select(driver.find_element_by_id("single"))
select.select_by_visible_text("")
  • 获取标题

    driver.title

  • 获取当前url

    driver.current_url

  • 简单的断言

       assert   driver.title == "松勤_百度搜索"   ---  当前浏览器的标题是否是“松勤_百度搜索”

  • 截屏

    driver.get_screenshot_as_file(‘ssl.png‘)    括号里面填写文件名称,也可以固定保存路径

  • 获取某一个元素当前的图片

    ele=driver.find_element_by_cas_selector(‘img[class="d-flag"]‘)

    ele.screenshot(r‘D:\yun.png‘)

 

selenium获取元素内容,iframe切换,和常用方法

标签:find   val   文件   false   搜索   href   use   art   原来   

原文地址:https://www.cnblogs.com/yangguanghuayu/p/11496686.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!