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中
实现