Selenium - ' //按钮之间的区别[包含(text(),"%s")]'和' //按钮[text()[包含(。,"%s")]]'?

时间:2017-11-29 18:45:42

标签: python selenium xpath

我想点击带有特殊文字的按钮。

按钮看起来像

    <button>
    <span class="totalStake">0.00</span> <span class="isocode">USD</span> 
    <span class="freeStake"></span>&nbsp;Place Bet
    </button>

我正在使用python和selenium

from selenium import webdriver
driver = webdriver.Firefox()
driver.get("***")
...

button_text = "Place Bet"       
xpath_wrong = '//button[contains(text(), "%s")]' % button_text  #!!!not working

xpath_good = "//button[text()[contains(.,'%s')]]" % button_text #!!!working

xpath_wrong找不到该元素。但是xpath_good很成功。我确信他们做了同样的事情,这就是为什么我甚至没有尝试xpath_good超过2小时试图找到解决问题的另一种方法。

这些表达方式有什么区别?

0 个答案:

没有答案