如何在Selenium,Python中的find_element_by_css_selector方法中传递变量

时间:2014-09-03 04:49:39

标签: python selenium

我需要在下面的行中进行一些更改:

driver.find_element_by_css_selector("p[title=\"sanityapp5\"]").click()

现在我已经创建了一个字符串变量appname

appname="sanityapp5"

现在我想知道如何在上面的selenium命令中用变量appname替换sanityapp5。 我是python的新手,所以知道如何做到这一点。

2 个答案:

答案 0 :(得分:1)

driver.find_element_by_css_selector("p[title=\"%s\"]" % appname).click()

或使用较新的样式字符串格式:

driver.find_element_by_css_selector("p[title=\{}\"]".format(appname)).click()

答案 1 :(得分:1)

让我们以更加Pythonic的方式来做。使用format功能。

Python 2.7.6 (default, Mar 22 2014, 22:59:56) 
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> "hello world{}".format("end")
'hello worldend'
>>> "hello world {1} and {0}".format("a", "b")
'hello world b and a'
>>> 

这是你的情况

driver.find_element_by_css_selector("p[title=\"{0}\"]".format(appname)).click()
>>> appname="sanityapp5"
>>> "p[title=\"{0}\"]".format(appname)
'p[title="sanityapp5"]'

很少reasons为什么您更喜欢格式为百分比。