我要与之互动的网页包含:
<a class="qwe" onclick="abc;">
我找不到使用selenium点击该对象的方法。
尝试:
By.XPath("/a[contains(text(),'qwe')]"
和
By.ClassName("qwe")
它找不到任何东西。
<div class="page-characterselect">
<div class="charselect">
<div><ul><li>
<a class="Player_Controller" onclick="client.characterSelect('XYZ@ABC');">
<h4 class="char-list-name">XYZ</h4>
<h5 class="char-list-level">Level <span>24</span></h5>
<h5 class="char-list-class">Control Wizard</h5>
<h5 class="char-list-race">Sun Elf</h5>
</a>
</li></ul></div>
</div>
</div>
答案 0 :(得分:1)
By.XPath("/a[contains(text(),'qwe')]"
是错误的XPath,因为它从当前节点开始并查找链接文本等于“qwe”,但你想要的是类名。
您应该从一开始就发布了HTML。以下是我的建议。
By.XPath(".//div[@class='charselect']//a[@class='Player_Controller']");
By.CssSelector(".charselect .Player_Controller");
如果还有其他类别Player_Controller
的链接,那么您需要发布更多<li>
来查看这些内容之间的差异。