Posteriormente a consultar con especialistas en la materia, programadores de diversas áreas y maestros hemos dado con la solución a la cuestión y la compartimos en esta publicación.
Solución:
Puedes leer el innerHTML
attribute para obtener la fuente de la contenido del elemento o outerHTML
para la fuente con el elemento actual.
Pitón:
element.get_attribute('innerHTML')
Java:
elem.getAttribute("innerHTML");
C#:
element.GetAttribute("innerHTML");
Rubí:
element.attribute("innerHTML")
JavaScript:
element.getAttribute('innerHTML');
PHP:
$element->getAttribute('innerHTML');
Fue probado y trabajado con el ChromeDriver
.
Realmente no existe una forma sencilla de obtener el código fuente HTML de un webelement
. Tendrás que usar JavaScript. No estoy muy seguro acerca de los enlaces de python, pero puede hacerlo fácilmente en Java. Estoy seguro de que debe haber algo similar a JavascriptExecutor
clase en Python.
WebElement element = driver.findElement(By.id("foo"));
String contents = (String)((JavascriptExecutor)driver).executeScript("return arguments[0].innerHTML;", element);
Seguro que podemos obtener todo el código fuente HTML con este script a continuación en Selenium Python:
elem = driver.find_element_by_xpath("//*")
source_code = elem.get_attribute("outerHTML")
Si desea guardarlo en un archivo:
with open('c:/html_source_code.html', 'w') as f:
f.write(source_code.encode('utf-8'))
Sugiero guardar en un archivo porque el código fuente es muy, muy largo.
Te mostramos comentarios y puntuaciones
Recuerda algo, que tienes la opción de esclarecer si topaste tu impedimento justo a tiempo.