J'ai essayé d'obtenir le contenu de l'iframe dans la page en utilisant Selenium / BeautifulSoup, mais je ne peux pas.
Si vous obtenez tout le HTML avec BeautifulSoup, vous obtiendrez le résultat suivant.
Code pour obtenir du HTML
BeautifulSoup(driver.page_source, 'html.parser')
Résultat d'acquisition
<html>
<head>
<!-- head -->
</head>
<body>
<!-- body -->
<iframe id="iframe"
scrolling="yes"
src="https://example.com/iframe"
src_data="https://example.com/iframe">
</iframe>
</body>
</html>
Je veux voir et opérer dans iframe.
Dans le code ci-dessous, le pilote se concentre sur l'iframe.
iframe = driver.find_element_by_id('#iframe')
driver.switch_to.frame(iframe)
Code pour obtenir du HTML
BeautifulSoup(driver.page_source, 'html.parser')
Assurez-vous que le HTML est en iframe.
https://www.selenium.dev/documentation/ja/webdriver/browser_manipulation/#webelementを使う
Pour revenir à la fenêtre d'origine, utilisez le code suivant.
driver.switch_to.default_content()
Recommended Posts