zoukankan      html  css  js  c++  java
  • selenium 定位元素

    from selenium import webdriver
    import time
    driver= webdriver.Chrome()
    # 访问网址
    driver.get("http://127.0.0.1:8088/login")
    
    # 元素定位的第二种方式,根据name属性定位(找到登录输入框并输入账户密码)
    driver.find_element_by_name("username").send_keys("libai")
    driver.find_element_by_name("password").send_keys("opmsopms123")
    
    # 根据元素的第三种方式,根据class属性定位。若class属性有空格,证明是复合类,多个值以空格区分
    # 登录按钮的  class="btn btn-lg btn-login btn-block" ;class中的这些属性有空格,证明是复合属性,检验4个属性都是唯一的,用那个属性都可以
    # 选中属性并点击
    driver.find_element_by_class_name("btn-login").click()
    
    time.sleep(3)
    
    # 点击项目管理按钮,根据css表达式定位找到并click()点击
    driver.find_element_by_css_selector(
        "body > section > div.left-side.sticky-left-side > "
        "div.left-side-inner > ul > li:nth-child(2)").click()
    # 匹配页面上每一个项目名称(列表页面,有多个项目名称)
    ele = driver.find_elements_by_css_selector("#project-form-list > table >tbody > tr > td:nth-child(1)")
    print(type(ele)) 返回的是列表
    
    """
    此种方式,匹配页面元素,返回的是一个列表
    若页面上,只有一个能匹配成功的,则返回一个元素列表,列表里只有一个
    若页面上,有多个匹配成功的,则返回一个元素列表,列表里是一个个匹配成功的元素
    若页面上,没有能匹配到的,则返回一个元素列表,列表是空的
        基于此特性,我们可以用来判断元素存不存在:
            写一个元素的唯一定位表达式,然后用此种匹配元素列表的方式去进行寻找
            判断元素列表是否为空,若为空,则元素不存在,反之存在
    """
    世界上最美的风景,是自己努力的模样
  • 相关阅读:
    ##MySql数据库表的操作与应用
    ##如何根据一个端口号,建立BS架构,在网页中打开我们要想的网站
    ##MySql数据库的增删改查方法
    ##MySql数据库的环境配置
    ##安装MySql数据库并解决如果安装出错卸载的注意事项
    ##什么是MySql数据库?它的基本用法
    ##网络编程的优化:如何利用线程优化服务端和客户端
    #XML
    ##如何在IDea中创建一个mxl文件模板
    Java多层嵌套异常处理的基本流程
  • 原文地址:https://www.cnblogs.com/xiong-hua/p/14934427.html
Copyright © 2011-2022 走看看