我已经成功地在 python 中使用 Playwright 从页面中获取元素。我现在遇到了从嵌入iframe的文档中获取元素的挑战。例如,我使用w3schools 页面来解释<option>
element,它在 iframe 中显示结果。我正在尝试<option>
从 iframe 中检索此元素的句柄。
在页面上获取 an 元素的“正常”方式page.querySelector()
无法获取 an elementHandle
,这只是打印<class 'NoneType'>
:
with sync_playwright() as p:
for browser_type in [p.chromium, p.firefox, p.webkit]:
browser = browser_type.launch(headless=False)
page = browser.newPage()
page.goto('https://www.w3schools.com/tags/tryit.asp?filename=tryhtml_option')
element = page.querySelector('select')
print(type(element))
browser.close()
我首先尝试显式获取 iframe 的句柄,但这会产生相同的结果(<class 'NoneType'>
):
with sync_playwright() as p:
for browser_type in [p.chromium, p.firefox, p.webkit]:
browser = browser_type.launch(headless=False)
page = browser.newPage()
page.goto('https://www.w3schools.com/tags/tryit.asp?filename=tryhtml_option')
iframe = page.querySelector('iframe')
element = iframe.querySelector('select')
print(type(element))
browser.close()
如何从 iframe 中获取内容?