zoukankan      html  css  js  c++  java
  • 005 selenium xpath/调试/table

    '''
    时间:2018/12/04
    功能:xpath/调试/table
    目录:
        一: xpath
            1 绝对路径
            2 元素属性
            3 标签 + 元素
            4 路径 + 元素
            5 逻辑 + 元素
            6 文本
            7 子节点 - 索引    
        二: 调试
            1 firefox
            2 chrmoe
        三: table
            1 输出内容
        四: 错误
            1 定位语法
    五: 思考
    '''

    一: xpath
      1 绝对路径

      2 元素属性

    id 
    name 
    class 
    其他

     1 : id定位。

     1 : name定位。

    1 : class定位。

    1 : 其他元素定位。


      3 标签 + 元素

      4 路径 + 元素

    1 : 定位id。


      5 逻辑 + 元素

      6 文本

      7 子节点 - 索引

    二: 调试
      1 firefox

      2 chrmoe

    1 : 第1个条件定位,是一处符合条件。

    2 : 第2个条件定位,是两处符合条件。

    三: table
      1 输出内容

    <!DOCTYPE html>
    <meta charset="UTF-8"> <!-- for HTML5 -->
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <html>  
            <head>  
                <title>Table测试</title>  
                  
            </head>  
            <body>  
                <table border="1" id="myTable">  
                    <tr>  
                        <th>国家</th>  
                        <th>城市</th>  
                        <th>地区</th>  
                    </tr>  
                    <tr>  
                        <td>中国</td>  
                        <td>北京</td>  
                        <td>海淀</td>  
                    </tr>  
                    <tr>  
                        <td>日本</td>  
                        <td>东京</td>  
                        <td>富士山</td>  
                    </tr>  
                </table>  
            </body>  
    </html> 

     1 : 保存到桌面,命名为 table.html。

     1 : 查看页面显示。

    from selenium import webdriver
    import time
    
    driver = webdriver.Firefox()
    driver.get("file:///C:/Users/Administrator/Desktop/table.html")
    
    # 获取句柄 - 当前窗口
    time.sleep(1)
    element = driver.find_element_by_xpath(".//*[@id='myTable']/tbody/tr[2]/td[1]")
    print(element.text)
    
    element = driver.find_element_by_xpath(".//*[@id='myTable']/tbody/tr[2]/td[3]")
    print(element.text)
    中国
    海淀

    四: 错误

      1 定位语法

    正确: $x(".//*[text() = "新闻"]") 
    错误: $x(".//*[text() = '新闻']")
    FirePath插件缺点: 使用XPath定位,只定位id,id动态定位失效。

    五: 思考

    xpath三个因素: 路径、元素、逻辑




  • 相关阅读:
    Java多线程-死锁
    Java多线程-BlockingQueue
    Java多线程-Object.wait()
    Java多线程-System.exit(0)的作用
    Java多线程-线程状态
    关于j = j++在循环中执行的问题
    ThreadLocal的学习
    Java多线程-ReentrantLock重入锁同步线程源码学习
    Java中为什么可以用一个char(两个字节)表示一个中文字符
    我对Java动态代理的理解
  • 原文地址:https://www.cnblogs.com/huafan/p/10064540.html
Copyright © 2011-2022 走看看