私はPythonスクリプトで処理/廃棄しているこのHTMLコードを持っています:
<a href="javascript:VerMapa('AVDA. DE AMERICA, 2 -33880 POLA DE ALLANDE','RODRIGUEZ-PELAEZ PEÑA, ANA MARIA','AVDA. DE AMERICA, 2 -33880','33880','ALLANDE','183','178')"><img src="../../Fijos/Img/VerMapa.jpg" alt="" width="25" height="24" border="0"> <br>Ver Mapa</a>
これは関数の定義です:
function VerMapa(direccion,farmacia,domicilio,CP,municipio, numeroOficina,identidad) {
window.open("googleMaps.aspDir="+direccion+"&Far="+farmacia+"&Dom="+domicilio+"&CP="+CP+"&Mun="+municipio+"&NO="+numeroOficina+"&Id="+identidad+"&",'Lista','toolbar=no, menubar=no, scrollbars=yes,resizable=yes,status=yes,screenX=50,top=50,width=740,height=530');
}
VerMapa('AVDA. DE AMERICA, 2 -33880 POLA DE ALLANDE','RODRIGUEZ-PELAEZ PEÑA, ANA MARIA','AVDA. DE AMERICA, 2 -33880','33880','ALLANDE','183','178')
href 属性で javascript 関数を呼び出し、返された HTML コードを取得する必要があります。
Spider-monkey と PyV8 を確認しましたが、ここでは役に立たないと思います。Spider-monkey は、javascript で定義された関数を呼び出せないことを明確に示しています。
現在、Selenium を試していますが、ソース コードを Python に戻す方法がわかりません。
ご存知のように、テスト スクリプトを実装し、要求されたページをブラウザー ウィンドウに読み込むことができました。
from selenium import webdriver
browser = webdriver.Firefox()
browser.get("http://www.farmasturias.org/GESCOF/cms/Guardias/FarmaciaBuscar.asp?IdMenu=111")
htmlCode = browser.execute_script("return VerMapa('AVDA. DE AMERICA, 2 -33880 POLA DE ALLANDE','RODRIGUEZ-PELAEZ PEÑA, ANA MARIA','AVDA. DE AMERICA, 2 -33880','33880','ALLANDE','183','178')")
print htmlCode;
1.- htmlCode 変数で何も得られません。javascript 関数によって生成されたソース コードを取得するにはどうすればよいですか? この投稿から構文を取得しました SeleniumでJavascriptコードの戻り値を取得する
2.- ブラウザ ウィンドウを開かずに Selenium を使用する方法はありますか?