首页 > 解决方案 > 我如何用 Selenium (python) 引用这个元素?

问题描述

所以我试图自动化这个简单的事情,我想点击一个图像。这是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 引用它,因为这是唯一独特的东西。所有图像都是动态定义的,所以我也无法通过它的编号来引用图像。提前致谢!(硒的新手)

标签: python-3.xselenium-chromedriver

解决方案


好的,所以问题是我试图在页面未完全加载时找到元素。所以我不得不在开始搜索元素之前放置一分钟的睡眠时间......因为java脚本仍在后台加载。仍然有任何决定页面是否已完全加载,包括 java 脚本而不是随机睡眠时间?快乐学习!


推荐阅读