我试图使用剧作家和Python获得iframe元素的“src”。下面是我要访问的HTML:
<iframe title="IFRAME_NAME" src="https://www.data_I_want_TO_get.com"> </iframe>
我的目标是获取“src”属性。以下是我迄今所尝试过的
src=page.frame_locator("IFRAME_NAME")
print(src.inner_html())
#also
src=page.frame_locator("IFRAME_NAME").get_by_role("src")
print(src)
还有很多其他的不起作用的事情,大多数时候我都能做到:
AttributeError: 'FrameLocator' object has no attribute 'inner_html'
nor .get_attribute
我该怎么做呢?
发布于 2022-11-21 05:13:25
如果没有看到实际站点,那么传统的选择和get_attribute
就足够了:
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 =
行替换为
src = (
page.wait_for_selector('iframe[title="IFRAME_NAME"]')
.get_attribute("src")
)
https://stackoverflow.com/questions/74508896
复制相似问题