【问题标题】:Replacing a part of string in a for loop with a number of loops done用完成的多个循环替换 for 循环中的部分字符串
【发布时间】:2020-01-22 06:23:37
【问题描述】:

如何用我已经完成的循环次数来改变字符串的某个部分?

我正在使用 Chromedriver (find_element_by_xpath) 从网站上抓取数据。我看到当 for 循环计数超过 10 时会出现问题。 在 count 达到 10 之前,它已经能够将 /tr[1] 替换为 /tr[2] 等等,但是一旦出现两位数,事情就会变得复杂。

count = 0
for i in range(0, 21):
    count += 1
    string[65] = str(count)
    string = ''.join(string)
    print(string)
    string = list(string)

The output is:
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[1]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[2]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[3]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[4]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[5]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[6]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[7]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[8]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[9]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[10]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[110]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[1210]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[13210]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[143210]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[1543210]/td[2]


And what I expect output to be is:
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[1]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[2]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[3]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[4]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[5]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[6]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[7]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[8]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[9]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[10]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[11]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[12]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[13]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[14]/td[2]
//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[15]/td[2]

【问题讨论】:

    标签: python string for-loop xpath


    【解决方案1】:

    试试这个:

    string = "//*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[1]/td[2]"
    all_list = [string[:65]+str(i+1)+string[66:] for i in range(0,15)]
    print(*all_list, sep='\n')
    

    输出

    //*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[1]/td[2]
    //*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[2]/td[2]
    //*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[3]/td[2]
    //*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[4]/td[2]
    //*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[5]/td[2]
    //*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[6]/td[2]
    //*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[7]/td[2]
    //*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[8]/td[2]
    //*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[9]/td[2]
    //*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[10]/td[2]
    //*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[11]/td[2]
    //*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[12]/td[2]
    //*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[13]/td[2]
    //*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[14]/td[2]
    //*[@id='teams_wrapper']/div[2]/div[3]/div[2]/div/table/tbody/tr[15]/td[2]
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-22
    • 2017-04-07
    • 1970-01-01
    • 2020-12-18
    • 2014-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多