我知道这一定非常非常简单但我无法弄清楚这个的语法。我以为我理解但显然我没有。
XPath在这里工作,如果我使用'Wednesday'而不是'%s'它工作正常,但我正在尝试用这个给XPath一个变量字符串:
texttolookfor = "Wednesday"
buttonelement= webDriver.find_element_by_xpath("//tr[contains(., '%s')]/td[@class='button-cell']" % texttolookfor)
这给了我:
<class 'selenium.common.exceptions.NoSuchElementException'>
但这有效:
buttonelement= webDriver.find_element_by_xpath("//tr[contains(., 'Wednesday')]/td[@class='button-cell']")
所以我明显误解了或者错误地输入了字符串。我一直在尝试变体并查看示例代码,但据我的理解,这应该有效。如果有人能说清楚,我会很感激。
正如我在评论中所说:
print "//tr[contains(., '%s')]/td[@class='button-cell']" % texttolookfor
产生:
//tr[contains(., ' Wednesday')]/td[@class='button-cell']