在Python Selenium中使用xpath中的变量时出错

Nis*_*eth 0 python selenium

我有一个完美无缺的xpath.这是我的代码:

driver.find_element_by_xpath('//div[contains(text(), "aots-cm")]').click()
Run Code Online (Sandbox Code Playgroud)

但"aots-cm"是硬编码值.我想传递变量而不是硬编码值.

assetId = ("aots-cm")
my_var = ("'//div[contains(text()," + " " + '"' + assetId+ '"' +  ")]'")
print (my_var)
=== > '//div[contains(text(), "aots-cm")]' ==> looks ok to me
driver.find_element_by_xpath(my_var).click()
Run Code Online (Sandbox Code Playgroud)

有错误消息给定xpath表达式"'// div [contains(text(),"aots-cm")]'"无效:TypeError:表达式无法转换为返回指定的类型.

Sup*_*tew 6

当您()在字符串中添加字符串时,my_var请将其设置为长度为1的元组,并且它必须是字符串.我会这样做的.

driver.find_element_by_xpath('//div[contains(text(), "{}")]'.format(assetID)).click()
Run Code Online (Sandbox Code Playgroud)