Python 我试图使用xpath单击使用数组的元素,但它给出了“只能将str(而不是“int”)连接到str”错误消息

Python 我试图使用xpath单击使用数组的元素,但它给出了“只能将str(而不是“int”)连接到str”错误消息,python,selenium,Python,Selenium,我尝试循环到元素列表,并使用循环尝试单击每个复选框 *totalCheckboxCount = driver.find_elements_by_xpath(".//*[@id='checkbox-example']//*[@type='checkbox']") for i in range: driver.find_element_by_xpath("(.// *[@ id='checkbox-example']//*[@ type='che

我尝试循环到元素列表,并使用循环尝试单击每个复选框

*totalCheckboxCount = driver.find_elements_by_xpath(".//*[@id='checkbox-example']//*[@type='checkbox']")
    for i in range:
        driver.find_element_by_xpath("(.// *[@ id='checkbox-example']//*[@ type='checkbox'])["+int(i)+"]").click()
但我得到了TypeError:只能将str not int连接到str消息,但是我使用了selenium C和java,但它在那里工作,但在python中不工作。

您正在执行inti+],这会引发错误

将其更改为strinti+]

您正在执行inti+],这会抛出错误


将其更改为strinti+]

您必须使用str函数将i转换为字符串。请参阅下面的代码:

string = 'Hi '

for i in range(0,21,1):
    print(string + str(i))
将生成以下输出:

Hi 0
Hi 1
Hi 2
Hi 3
Hi 4
Hi 5
Hi 6
Hi 7
Hi 8
Hi 9
Hi 10
Hi 11
Hi 12
Hi 13
Hi 14
Hi 15
Hi 16
Hi 17
Hi 18
Hi 19
Hi 20

然而,在我看来,您的代码永远不会在Python中工作,因为其他一些东西的编写方式,例如for i in range:。它的语法似乎来自另一种编程语言。

您必须使用str函数将i转换为字符串。请参阅下面的代码:

string = 'Hi '

for i in range(0,21,1):
    print(string + str(i))
将生成以下输出:

Hi 0
Hi 1
Hi 2
Hi 3
Hi 4
Hi 5
Hi 6
Hi 7
Hi 8
Hi 9
Hi 10
Hi 11
Hi 12
Hi 13
Hi 14
Hi 15
Hi 16
Hi 17
Hi 18
Hi 19
Hi 20

然而,在我看来,您的代码永远不会在Python中工作,因为其他一些东西的编写方式,例如for i in range:。它的语法似乎来自另一种编程语言。

你也更适合使用pythons f-strings ftext{variable}你也更适合使用pythons f-strings ftext{variable}