首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >剧作家Python:在Iframe中获取属性

剧作家Python:在Iframe中获取属性
EN

Stack Overflow用户
提问于 2022-11-20 14:21:49
回答 1查看 49关注 0票数 0

我试图使用剧作家和Python获得iframe元素的“src”。下面是我要访问的HTML:

代码语言:javascript
运行
复制
<iframe title="IFRAME_NAME" src="https://www.data_I_want_TO_get.com"> </iframe>

我的目标是获取“src”属性。以下是我迄今所尝试过的

代码语言:javascript
运行
复制
    src=page.frame_locator("IFRAME_NAME")
    print(src.inner_html())

    #also 

    src=page.frame_locator("IFRAME_NAME").get_by_role("src")
    print(src)

还有很多其他的不起作用的事情,大多数时候我都能做到:

代码语言:javascript
运行
复制
AttributeError: 'FrameLocator' object has no attribute 'inner_html'
nor .get_attribute

我该怎么做呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-21 05:13:25

如果没有看到实际站点,那么传统的选择和get_attribute就足够了:

代码语言:javascript
运行
复制
from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch(headless=True)
    page = browser.new_page()
    page.set_content("""
    <iframe title="IFRAME_NAME" src="https://www.data_I_want_TO_get.com"></iframe>
    """)
    src = page.get_attribute('iframe[title="IFRAME_NAME"]', "src")
    print(src)  # => https://www.data_I_want_TO_get.com
    browser.close()

如果框架没有立即可见,您可以通过将src =行替换为

代码语言:javascript
运行
复制
src = (
    page.wait_for_selector('iframe[title="IFRAME_NAME"]')
        .get_attribute("src")
)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74508896

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档