【问题标题】:how can i create loop using xpath?如何使用 xpath 创建循环?
【发布时间】:2021-08-21 10:40:25
【问题描述】:
#start
i=0
r=("('/html/body/div[4]/div/div/div[2]/ul/div/li[")
p=("]/div/div[2]/div[1]/div/div/span/a')")

for f in range(7):
   i = i+1
   browser.find_element_by_xpath("{}{}{}".format(r,i,p)).click()
#end

我收到 =selenium.common.exceptions.InvalidSelectorException 错误:消息:无效选择器:无法使用 xpath 表达式定位元素('/html/body/div[4]/div/div/div[2] /ul/div/li[1]/div/div[2]/div[1]/div/div/span/a') 因为以下错误: TypeError:无法对“文档”执行“评估”:结果不是节点集,因此无法转换为所需的类型。 (会话信息:chrome=91.0.4472.77)

【问题讨论】:

    标签: python selenium xpath pycharm webdriver


    【解决方案1】:

    而不是这个:

    r=("('/html/body/div[4]/div/div/div[2]/ul/div/li[")
    p=("]/div/div[2]/div[1]/div/div/span/a')")
    

    这样做:

    i = 0
    for f in range(7):
     driver.find_element_by_xpath("/html/body/div[4]/div/div/div[2]/ul/div/li[{0}]/div/div[2]/div[1]/div/div/span/a".format(str(i))).click()
     i = i+1
    

    我仍然建议不要使用这个绝对 xpath 而是使用相对 xpath

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-21
      • 1970-01-01
      • 1970-01-01
      • 2021-12-09
      • 2017-01-29
      • 1970-01-01
      • 2019-09-27
      • 2013-10-23
      相关资源
      最近更新 更多