使用 selenium 时使变量在方括号内工作

Make a variable work inside a square bracket while working with selenium

我正在抓取一个页面,但我不记得如何让一个变量在一个字符串中工作,而这个字符串在另一个变量中使用 selenium

from selenium import webdriver
from selenium.webdriver.common.by import By

len_trs_table=6
for i in range(0,int(len_trs_table)):
        tr = driver.find_element(By.XPATH,'/html/body/div[5]/div[8]/div/div[2]/div/div[3]/fieldset/div/div[1]/div/div[3]/fieldset/div/div[6]/table/tbody/tr[{i}]')

你必须使用f-string

from selenium import webdriver
from selenium.webdriver.common.by import By

len_trs_table=6
for i in range(0,int(len_trs_table)):
        tr = driver.find_element(By.XPATH,f'/html/body/div[5]/div[8]/div/div[2]/div/div[3]/fieldset/div/div[1]/div/div[3]/fieldset/div/div[6]/table/tbody/tr[{i}]')

如上代码所示,您只需在 str(xpath)

之前写入 f

如果我的回答对你有帮助accept我的回答也点赞

len_trs_table 的类型为 integer。因此,在将其传递给 xpath 进行变量替换时,您必须使用以下任一策略将其转换为 string 类型:

  • 使用f-string:

    len_trs_table=6
    for i in range(0,int(len_trs_table)):
        tr = driver.find_element(By.XPATH, f'/html/body/div[5]/div[8]/div/div[2]/div/div[3]/fieldset/div/div[1]/div/div[3]/fieldset/div/div[6]/table/tbody/tr[{str(i)}]')