我如何用Selenium(python)引用这个元素?

时间:2018-05-23 06:03:45

标签: python-3.x selenium-chromedriver

所以我试图自动化这个简单的事情,我想点击一个图像。 这是HTML:

<div class="guild-inner" draggable="false" style="border-radius: 15px;">
<a draggable="false" class="avatar-small" href="/channels/223259649967652887/381675339702599690" style="background-image: url(&quot;https://cdn.discordapp.com/icons/223259649967652887/2be8d9ec8759056fabe8caa306c632c8.png&quot;);">
</a>
</div>

这是我的代码:

def find_tc():
driver.find_element_by_xpath('//a[@href="/channels/223259649967652887/381675339702599690"]').click()
wait(5)

这是错误:

selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//a[href="/channels/223259649967652887/381675339702599690"]"}

我必须通过href来引用它,因为这是唯一独特的东西。所有图像都是动态定义的,所以我也不能通过它的编号来参考图像。谢谢! (硒新)

1 个答案:

答案 0 :(得分:0)

好的,问题是我在页面未完全加载时试图找到该元素。所以我必须在开始搜索元素之前花一分钟的睡眠时间。因为java脚本仍然在后台加载。还有什么可以决定页面是否已经完全加载包括java脚本而不是随机休眠时间?很高兴学习!