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

Posted yangguanghuayu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了selenium获取元素内容,iframe切换,和常用方法相关的知识,希望对你有一定的参考价值。

  • 获取元素信息

    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切换,和常用方法的主要内容,如果未能解决你的问题,请参考以下文章

selenium定位当前处于那个iframe(frame)中

Selenium中web三大切换之iframe窗口及Alert(弹窗)切换

selenium 切换iframe

基于python实现UI自动化5. selenium实现获取页面元素属性(内容标题URL浏览器名称等)

基于python实现UI自动化5. selenium实现获取页面元素属性(内容标题URL浏览器名称等)

基于python实现UI自动化5. selenium实现获取页面元素属性(内容标题URL浏览器名称等)