首页 > 解决方案 > python selenium 按标签在 div 中查找元素(没有名称、类、id 或文本)

问题描述

我正在尝试使用 selenium 获取 iframe 的 src,但我找不到如何在 div 中获取 iframe(div 有一个 id)。这是我所拥有的:

<div role="tabpanel" class="tab-pane active" id="video_box" style="background: #000; color: #fff;">
  <iframe width="560" height="315" frameborder="0" src="https://embedsito.com/v/x431gb5q0rq76j-" scrolling="no" allowfullscreen=""></iframe>
</div>

如您所见,我可以使用 id 通过 id 获取 div driver.find_element_by_id("video_box"),但我需要的是src来自 div 内部的,它没有类名、没有 id、没有名称和文本(嗯,它实际上有来自 src 的文本但它每次都会改变)。有什么方法可以从 div 中获取 iframe 并从中提取 src 吗?

我尝试使用该find_by_css_selector('iframe')方法但没有结果我尝试使用该find_element_by_tag_name('iframe')方法,但引发异常:

selenium.common.exceptions.NoSuchElementException:消息:无法找到元素:iframe

标签: pythonhtmlseleniumiframe

解决方案


您是否尝试过进入开发人员工具(检查元素)并通过右键单击它来获取 iframe 的 XPath?

然后你可以使用命令find_element_by_xpath()方法。


推荐阅读