selenium,xpath路径中引入变量

Posted becks

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了selenium,xpath路径中引入变量相关的知识,希望对你有一定的参考价值。

比如,我需要获取每一条微博的阅读数,总不可能所有微博都找出xpath,然后获取阅读数

找规律

“//*[@id=‘Pl_Official_MyProfileFeed__20‘]/div/div[2]/div[2]/div/ul/li[1]/a/span/span/i”

第二个div的数字,代表当前页第几条微博,如上方xpath,第二个div内括号数字是”2“,代表第一条微博的阅读书路径xpath

当前页最后一条阅读数xpath的div数字是46

所有这里,我们用for来循环获取每一条微博的阅读数

这里就有个问题,xpath传入变量

具体代码如下

for page in range(2,46):
            WebDriverWait(browser,30,0.2).until(lambda x:x.find_element_by_xpath("//*[@id=‘Pl_Official_MyProfileFeed__20‘]/div/div["+str(page)+"]/div[2]/div/ul/li[1]/a/span/span/i"))#等待登录界面出现
            num = browser.find_element_by_xpath("//*[@id=‘Pl_Official_MyProfileFeed__20‘]/div/div["+str(page)+"]/div[2]/div/ul/li[1]/a/span/span/i").text#获取阅读数
            print(page)
            print(num)

”page“是变量

"+str(page)+" 即变量插入到xpath中

实现

以上是关于selenium,xpath路径中引入变量的主要内容,如果未能解决你的问题,请参考以下文章

用XPath精确定位节点元素&selenium使用Xpath定位之完整篇

用XPath精确定位节点元素&selenium使用Xpath定位之完整篇

用XPath精确定位节点元素&selenium使用Xpath定位之完整篇

求 selenium By.xpath 包含变量 解决方案

在 Python Selenium 的 xpath 中使用变量

Selenium之xpath绝对路径表示法