zoukankan      html  css  js  c++  java
  • Selenium之webdriver的基础操作

    webdriver的基础操作

    from selenium import webdriver
    
    driver = webdriver.Chrome()
    
    driver.get(url='http://www.baidu.com')
    driver.find_element()  # 定位标签
    print(driver.title)
    driver.close()  # 关闭当前窗口
    print(driver.page_source)  # 获取页面的内置
    # 设置浏览器的大小
    driver.set_window_size(800, 600)
    print(driver.get_window_size())  # 获取浏览器窗口的大小
    driver.save_screenshot('a.png')  # 屏幕截图,保存图片的类型必须是png
    driver.refresh()  # 刷新
    driver.back()  # 后退
    driver.forward()  # 前进
    driver.get_cookie()  # 获取cookies
    driver.current_url  # 获取当前window窗口的url
    driver.current_window_handle  # 获取当前窗口对象
    driver.execute_script("aler('你好啊')")  # 执行JS代码

    常用的标签选择器

    1.根据id定位
    2.根据class定位
    3.根据tag name定位
    4.根据超链接定位
        1.绝对定位
        2.模糊定位
    5.根据xpath定位,根据dom树来定位,每个标签在dom树中都有自己的节点
    6.根据css selecter(样式)
    7.定位input框,根据name属性定位
    8.by选择器,封装了上面几种定位形式

    标签选择器的定位

    driver.find_element_by_id('kw').send_keys('id')
    driver.find_element_by_class_name('s_ipt').send_keys('class')
    driver.find_element(by=By.ID, value='kw').send_keys('By')
    driver.find_element_by_css_selector('input[class=s_ipt]').send_keys('CSS')
    driver.find_element_by_name('wd').send_keys('name')
    driver.find_element_by_link_text()
    driver.find_element_by_partial_link_text()
    driver.find_element_by_tag_name('').click()
    
    CSS 选择器
    driver.find_element_by_css_selector('input[class ^=s_]')  # 匹配以s_开头的class值
    driver.find_element_by_css_selector('input[class $=pt]')  # 匹配以pt结尾的class值
    driver.find_element_by_css_selector('input[class *=_i ]')  # 匹配包含_i的class值
    driver.find_element_by_css_selector('.s_ipt').send_keys('css可好')
    driver.find_element_by_css_selector('input.s_ipt').send_keys('厉害了css')
    driver.find_element_by_css_selector('#kw').send_keys('css id来了')
    driver.find_element_by_css_selector('input#kw').send_keys('无敌css')

    input_obj = driver.find_element_by_id("id_user")
    # 为input框填写值
    input_obj.send_keys('你好')
    # 获取input框的值
    input_obj.get_attribute('value')
    # 获取input框的属性
    input_obj.get_attribute('class')
    input_obj.get_property('name')
    # 获取标签的css样式
    input_obj.value_of_css_property('color')
    # 获取标签中的子标签
    div_obj = driver.find_element_by_class_name('col-xs-3')
    div_obj.find_element_by_tag_name('input').submit()
    # 获取验证码图片的大小
    driver.find_element_by_id('imageCode').size
    幻想毫无价值,计划渺如尘埃,目标不可能达到。这一切的一切毫无意义——除非我们付诸行动。
  • 相关阅读:
    抖音圈圈乐 系统搭建H5微信小游戏圈圈乐系统介绍
    GPS NMEA-0183标准详解
    GPS定位的偏移校正(WGS84与火星坐标互转)
    Complete_NGINX_Cookbook
    GBT32960-2016电动汽车远程服务与管理系统技术规范 第3部分:通信协议及数据格式
    Redis 到底是怎么实现“附近的人”这个功能的呢?
    NETGEAR R7800路由器TFTP刷回原厂固件方法
    JT/T 808-2013 道路运输车辆卫星定位系统北斗兼容车载终端通讯协议技术规范
    如何正确地使用设计模式?
    各常用分类算法的优缺点总结:DT/ANN/KNN/SVM/GA/Bayes/Adaboosting/Rocchio
  • 原文地址:https://www.cnblogs.com/TodayWind/p/14903573.html
Copyright © 2011-2022 走看看