xyh2695368537 发表于 2022-10-4 13:54:20

selenium xpath定位的拼接问题

本帖最后由 xyh2695368537 于 2022-10-4 13:55 编辑

    for i in range(3):
      i+=1
      driver.find_element(By.XPATH,"//input[@name='serviceDay[]' and [@value=i]").click()

代码中'i'是变量,我想用for循环三次,点击不同的按键,三个按键里只有value的值不同,像这种的要怎么拼接{:10_266:}



    for i in range(3):
      i+=1
      driver.find_element(By.XPATH,"//input[@name='serviceDay[]'" +'and'+ str(').click()

第二段代码是我尝试用字符串拼接,运行会报错{:10_250:}

wp231957 发表于 2022-10-4 16:23:28

for i in range(1,4):
      #i+=1   #这个语句绝对禁止
      driver.find_element(By.XPATH,"//input[@name='serviceDay[]' and [@value=%d]"%i).click()
试一下,手机发贴,没办法调试

wp231957 发表于 2022-10-4 16:26:53

字符串拼接也是可以的,但是代码看着乱
sql经常需要拼接,有时候拼的头疼

xyh2695368537 发表于 2022-10-4 17:37:09

本帖最后由 xyh2695368537 于 2022-10-4 17:42 编辑

wp231957 发表于 2022-10-4 16:23
for i in range(1,4):
      #i+=1   #这个语句绝对禁止
      driver.find_element(By.XPATH,"//inp ...

Failed to execute 'evaluate' on 'Document': The string '//input[@name='serviceDay[]' and [@value='1']' is not a valid XPath expression.
(Session info: chrome=106.0.5249.91)

提示这个报错了{:10_250:}
这是我定位错了位置,还是我代码写错了
代码附上
    for i in range(1,4):
      

      driver.find_element(By.XPATH,"//input[@name='serviceDay[]' and [@value='%d'%i]").click()

wp231957 发表于 2022-10-4 17:48:31

xyh2695368537 发表于 2022-10-4 17:37
提示这个报错了
这是我定位错了位置,还是我代码写错了
代码附上

%i位置不对,得放在字符串的外面

xyh2695368537 发表于 2022-10-4 18:57:49

wp231957 发表于 2022-10-4 17:48
%i位置不对,得放在字符串的外面

对对对,这个错误存在的!改来以后运行还是报错
后来,我才发现我多加了个中括号,难怪,报错显示这不是xpath的表达{:10_266:}
感谢!!!!
页: [1]
查看完整版本: selenium xpath定位的拼接问题