Comment obtenir html avec javascript rendu sourcecode en utilisant le sélénium
Je exécutez une requête dans une page web, puis-je obtenir le résultat de l'url. Si je clic droit sur voir le code source html, je peux voir le code html généré par JS. Si j'utilise simplement urllib, python ne peut pas obtenir le code JS. Donc, je vois une solution à l'aide de sélénium. Voici mon code:
from selenium import webdriver
url = 'http://www.archives.com/member/Default.aspx?_act=VitalSearchResult&lastName=Smith&state=UT&country=US&deathYear=2004&deathYearSpan=10&location=UT&activityID=9b79d578-b2a7-4665-9021-b104999cf031&RecordType=2'
driver = webdriver.PhantomJS(executable_path='C:\python27\scripts\phantomjs.exe')
driver.get(url)
print driver.page_source
>>> <html><head></head><body></body></html> Obviously It's not right!!
Voici le code source que j'ai besoin cliquez-droit sur windows, (je veux la partie "INFORMATION")
</script></div><div class="searchColRight"><div id="topActions" class="clearfix
noPrint"><div id="breadcrumbs" class="left"><a title="Results Summary"
href="Default.aspx? _act=VitalSearchR ...... <<INFORMATION I NEED>> ...
to view the entire record.</p></div><script xmlns:msxsl="urn:schemas-microsoft-com:xslt">
jQuery(document).ready(function() {
jQuery(".ancestry-information-tooltip").actooltip({
href: "#AncestryInformationTooltip", orientation: "bottomleft"});
});
=========== Donc ma question est ===============
Comment obtenir les informations générées par JS?
source d'informationauteur MacSanhe
Vous devez vous connecter pour publier un commentaire.
Vous aurez besoin pour obtenir le document par l'intermédiaire
javascript
vous pouvez utiliser seleniumsexecute_script
fonctionQui sera tout à l'intérieur de la
<html>
tagIl n'est pas nécessaire d'utiliser cette solution de contournement, vous pouvez utiliser à la place:
Je pense que vous obtenez le code source avant de le JavaScript a rendu le HTML dynamique.
D'abord, essayez de mettre un peu de secondes de sommeil entre la navigation et d'obtenir la source de la page.
Si cela fonctionne, alors vous pouvez changer d'attendre stratégie.
Vous essayez
Dryscrape
ce navigateur est entièrement prise en charge lourde js codes de l'essayer j'espère que cela fonctionne pour vousJ'ai rencontré le même problème et finalement résolu par desired_capabilities.