我正在使用selenium和python来学习自动化Web测试。
我想单击“继续”按钮,而其中只有跨度(我已经知道使用id代替跨度非常容易) 但是在这种情况下,我要单击范围。
我正在使用以下代码:
driver.find_element_by_xpath("//span[contains(@class,'mdBtn01Txt')][contains(text(),'Continue')]").click()
这是元素:
<div class="mdLYR12Inner01">
<a class="MdBtn01 mdBtn01 ExDisabled FnSubmitBtn" style="display:none" href="#" onclick="charge(this); return false;">
<span class="mdBtn01Inner">
<span class="mdBtn01Txt">
Continue <<<(I want to click this button)
</span>
</span>
</a>
</div>
</footer>
但是,我在下面收到此消息:
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//span[contains(@class,'mdBtn01Txt')][contains(text(),'Continue')]"}
答案 0 :(得分:3)
看起来不是有效的xpath,正确的应该是
//span[@class='mdBtn01Txt']
这是创建xpath的规则 XPath的语法:
XPath包含位于网页上的元素的路径。创建XPath的标准语法为:
Xpath=//tagname[@attribute='value']