zoukankan      html  css  js  c++  java
  • 如何在Xpath路径中添加变量?如何将字符串传递给Xpath?

    开门见山,直接举例:

    #初始路径:
    xpath='//div[i]/div[1]/a'
    #第一个div中的i是变量

    x=[1,2,3,4,5]
    for i in x:
        xpath='//div[i]/div[1]/a'
        print(xpath)
    #我想遍历1到5,这是指定行不通的
    #直接改为:
    x=[1,2,3,4,5]
    for i in x:
        xpath='//div[str(i)]/div[1]/a'
        print(xpath)
    #也是不行的

    解决办法如下:
    x=[1,2,3,4,5]
    for i in x:
        xpath='//div['+str(i)+']/div[1]/a'
        print(xpath)
    完美解决。

    原因如下:

    The basic building block of XPath 3.1 is the expression, which is a string of [Unicode] characters; the version of Unicode to be used is implementation-defined.

    XPath 3.1的基本构建模块是表达式,它以[Unicode]字符的字符串形式出现,直接来个整型的数字(1/2/3)指定不行,必须转化为str型。

    两个加号是将前后字符串分别连接。

    >>> print ‘red’ + str(3)
    red3
    >>> print ‘red’ + ‘yellow’
    Redyellow
    >>> print ‘red’ * 3 Redredred
    >>> print ‘red’ + 3 Traceback (most recent call last): File “”, line 1, in TypeError: cannot concatenate ‘str’ and ‘int’ objects
  • 相关阅读:
    poj1511
    poj2996
    poj1062
    poj3259
    poj2993
    手动上传SNAPSHOT文件到Maven私服Nexus的方法
    安全可靠国产系统下的应用怎么搭建?
    手动上传SNAPSHOT文件到Maven私服Nexus的方法
    Maven 初学+http://mvnrepository.com/
    IDEA中Maven依赖下载失败解决方案
  • 原文地址:https://www.cnblogs.com/2016-11-13/p/14451536.html
Copyright © 2011-2022 走看看