Python 元素+;括号中的变量不起作用

Python 元素+;括号中的变量不起作用,python,selenium,Python,Selenium,我一直在为这个看似简单的代码而头疼: driver.find_element(By.CSS_SELECTOR,'#ember2528 > div > div > p > svg > circle').get_attribute('fill') 基本上,2528是一个变量,我尝试过: driver.find_element(By.CSS_SELECTOR,'#ember + str(i) > div > div > p > svg >

我一直在为这个看似简单的代码而头疼:

driver.find_element(By.CSS_SELECTOR,'#ember2528 > div > div > p > svg > circle').get_attribute('fill')
基本上,2528是一个变量,我尝试过:

driver.find_element(By.CSS_SELECTOR,'#ember + str(i) > div > div > p > svg > circle').get_attribute('fill')

driver.find_element(By.CSS_SELECTOR,' + "#ember" + str(i) > div > div > p > svg > circle').get_attribute('fill')

driver.find_element(By.CSS_SELECTOR,'#ember & ' + str(i) + ' > div > div > p > svg > circle').get_attribute('fill')

如果我的格式没有按正确的顺序排列,我深表歉意,因为我在这个论坛上还是一个新手,并且正在试图找出如何确保正确的代码格式。

您可以使用格式字符串在需要的地方插入变量值,例如:
'#ember{}>div>div>p>svg>circle'.format(I)
,这将允许您插入变量的值来代替
{}
占位符


您的第三次尝试也会成功,除非您包含了不应该包含的
&
。您可以像这样简单地连接字符串,
'#ember'+str(i)+'>div>div>p>svg>circle'
,这也会给您想要的

谢谢!对于第三次尝试,我认为您需要&来连接。被谷歌搜索了一番,似乎永远也学不到这一切!非常感谢@murfyang没问题,是的,实际上有几种不同的方法来做同样的事情,所以可能会让人困惑