我有這樣的HTML代碼,我proccesing /用python腳本再殺:調用JavaScript函數在Python - 硒
<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');
}
我需要在href屬性中調用VerMapa('AVDA. DE AMERICA, 2 -33880 POLA DE ALLANDE','RODRIGUEZ-PELAEZ PEÑA, ANA MARIA','AVDA. DE AMERICA, 2 -33880','33880','ALLANDE','183','178')
javascript函數並獲取返回的HTML代碼。
我檢查了蜘蛛猴和PyV8,但我認爲他們不能幫助我。蜘蛛猴清楚地告訴你不能調用一個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 var。 ¿如何取回由javascript函數生成的源代碼?我採取了這篇文章的語法Getting the return value of Javascript code in Selenium
2.-有什麼辦法可以在不打開任何瀏覽器窗口的情況下使用Selenium?
我已經嘗試了與java相同的代碼並填充了一個新的彈出窗口。在執行javascript並使用print htmlCode之後,是否需要顯示地圖的彈出窗口的html源代碼? – Hemanth 2013-04-24 10:44:54
也許我不清楚。該代碼彈出一個新窗口,其中包含期望的內容,但htmlCode var中沒有返回任何內容。我試圖在該頁面的源代碼中加入var。 – 2013-04-24 11:42:56
@DavidCasillas你想要主頁面的源代碼還是新打開的彈出窗口? – Hemanth 2013-04-25 08:18:58