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中

实现

posted @ 2019-11-24 20:56  小贝书屋  阅读(1564)  评论(1编辑  收藏  举报