如何在xpath-Selenium中传递表示字符串的变量



我正在尝试使用selenium网络驱动程序来定位html 中的元素

size_element = driver.find_element(By.XPATH,"//span[text()= 'XL']")

以上工作。

然而,如果我尝试用下面这样的字符串变量来表示"XL",它将不起作用。

size = "XL"
size_element = driver.find_element(By.XPATH,"//span[text()= f'{size}']")

同样,下面的也不起作用:

size_element = driver.find_element(By.XPATH,"//span[text()= {}]".format(size)
size_element = driver.find_element(By.XPATH,"//span[text()= %s]"%size)

"F-字符串提供了一种将表达式嵌入字符串文本中的方法,使用最小语法。需要注意的是,f字符串实际上在运行时计算的表达式,而不是常数值。

以下内容应该有效:

size = "XL"
size_element = driver.find_element(By.XPATH, f"//span[text()= {size}]")

您应该尝试:

size_element = driver.find_element(By.XPATH,f'//span[text()= {size}]')