• 元素的定位·XPATH


    from selenium import webdriver
    import time
    driver = webdriver.Chrome() # 指定webdriver的位置
    driver.get('https://www.baidu.com') # 打开指定的网址
    driver.maximize_window()
    time.sleep(3)
    # xpath 定位
    # 1、绝对路径,在同一层下有相同标签的时候可以通过下标进行选择 ,下标从1开始
    # driver.find_element_by_xpath('/html/body/div/div/div[3]/a[3]').click()
    # 2、相对路径,必须是//
    # driver.find_element_by_xpath('//div[3]/a[3]').click()
    # 3、通过元素索引 下标从1开始
    # driver.find_element_by_xpath('//div[3]/a[4]').click()
    # 4、使用元素属性定位
    # 4.1 单属性定位
    # driver.find_element_by_xpath('//input[@maxlength="255"]').send_keys('单属性定位')
    #4.2 多属性定位 and or
    # driver.find_element_by_xpath('//input[@maxlength="255" and @autocomplete="off"]').send_keys('多属性定位')
    # # driver.find_element_by_xpath('//input[@maxlength="255" or @1="off"]').send_keys('多属性定位')
    # 4.3支持通配符
    # driver.find_element_by_xpath('//*[@*="255"]').send_keys('通配符')
    # 5、使用部分属性值定位
    # 5.1 以什么开头starts-with()
    # driver.find_element_by_xpath('//a[starts-with(@href,"http://news")]').click()
    # 5.2 以什么结尾substring(),下标从1开始
    # driver.find_element_by_xpath('//a[substring(@href,13)="hao123.com"]').click()
    # 5.3属性值包含contains()
    driver.find_element_by_xpath('//a[contains(@href,"hao123.com")]').click()

    #6 支持元素文本定位
    # driver.find_element_by_xpath('//a[text()="hao123"]').send_keys('xpath文本定位')
    # driver.find_element_by_xpath('//a[contains(text(), "hao1")]').click() # 部分匹配

    time.sleep(3)
    driver.quit() # 关闭整个页面
  • 相关阅读:
    《TCP/IP详解》读书笔记
    更改vsts源代码绑定服务器地址方法
    t-sql或mssql怎么用命令行导入数据脚本
    t-sql中字符串前加N代表什么意思
    C#连接mariadb代码及方式
    sp_executesql动态执行sql语句并将结果赋值给一变量
    mariadb配置允许远程访问方式
    将DataTable转换为List,将List转换为DataTable的实现类
    SQL update select语句
    怎么区分MSSQL中nvarchar和varchar的区别?
  • 原文地址:https://www.cnblogs.com/ygod323/p/14131262.html
Copyright © 2020-2023  润新知