Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 通过变量查找元素_Python_String_Selenium - Fatal编程技术网

Python 通过变量查找元素

Python 通过变量查找元素,python,string,selenium,Python,String,Selenium,我正在尝试从下拉列表中选择一个元素。元素由其值定义,该值为日期。在本例中,假设我尝试选择的日期是今天。该元素的值为“2014/10/06” 我定义了一个变量“oracledate”,它链接到一个带有“2014/10/06”的字段。 我知道它的定义是正确的,因为当我打印(oracledate)时,它出现在2014/10/06 但是,以下代码不起作用: browser.find_element_by_xpath("//option[contains(@value, oracledate)]").cl

我正在尝试从下拉列表中选择一个元素。元素由其值定义,该值为日期。在本例中,假设我尝试选择的日期是今天。该元素的值为“2014/10/06”

我定义了一个变量“oracledate”,它链接到一个带有“2014/10/06”的字段。 我知道它的定义是正确的,因为当我打印(oracledate)时,它出现在2014/10/06

但是,以下代码不起作用:

browser.find_element_by_xpath("//option[contains(@value, oracledate)]").click()
当我硬编码时,它工作正常:

browser.find_element_by_xpath("//option[contains(@value, '2014/10/04')]").click()
当我尝试使用变量查找元素时,为什么它不起作用?

使用:

或:


谢谢你的回答。当我尝试这两种方法中的任何一种时,我都会收到错误消息,说找不到xpath的元素。我想我的格式可能不正确?因为我认为它们是我现在的方式,所以浏览器正在尝试查找值中包含“%s”的元素。抱歉,这是我第一次使用python…另外,我应该提到“oracledate”已经是一个字符串了variable@sdailey814,您是否使用了我在回答中提到的
%
运算符<代码>浏览器。通过xpath(//option[contains(@value,“%s”)]%oracledata查找元素。单击()复制并粘贴该元素时,它起了作用。我一定是打错了什么东西。谢谢当我回答时,我将标记为已回答can@sdailey814,你也能接受这个答案吗?;)
>>> oracledata = '2014/10/04'
>>> "//option[contains(@value, '{}')]".format(oracledata)
"//option[contains(@value, '2014/10/04')]"
>>> "//option[contains(@value, '%s')]" % oracledata
"//option[contains(@value, '2014/10/04')]"