如何用Playwright Python获取iframe元素的src属性?
解决Playwright Python获取iframe的src属性问题
正确实现方法
要获取iframe自身的src属性,你需要直接定位iframe元素本身,而非使用frame_locator(frame_locator用于操作iframe内部的DOM元素,而非获取iframe自身的属性)。
代码示例
# 通过title属性定位iframe元素 iframe = page.locator('iframe[title="IFRAME_NAME"]') # 等待元素加载完成(可选但推荐,避免元素未渲染导致的错误) iframe.wait_for() # 获取src属性值 src = iframe.get_attribute("src") print(src)
你之前代码的问题分析
错误使用
frame_locator:page.frame_locator("IFRAME_NAME")的参数应该是CSS选择器(比如iframe[title="IFRAME_NAME"]),且FrameLocator对象没有inner_html()或get_attribute()方法——它的作用是定位iframe内部的内容,而非操作iframe元素本身。错误使用
get_by_role("src"):get_by_role()是用来匹配具有指定ARIA角色的元素,src是HTML属性,并非ARIA角色,所以这个写法完全不符合逻辑,无法定位到目标内容。
内容的提问来源于stack exchange,提问作者WillX0r
相关产品推荐
相关产品推荐

