我正在使用Selenium和Python構建web爬網程序,並且遇到了一些障礙。履帶式工作原理是利用在Python中使用Selenium屏幕抓取:使用Javascript構建的鏈接
ListlinkerHref = self.browser.find_elements_by_xpath("//*[@href]")
找到的所有鏈接並遍歷ListlinkerHref。這適用於帶有href屬性的經典鏈接。但是,快速查看www.primitiveworldproductions.com主頁的第110行和第135行(大約)的源代碼,可以看到使用Javascript構建的一堆鏈接,並且沒有href屬性。
我完全不瞭解Javascript,我翻閱了Selenium文檔,但找不到檢測這些鏈接的方法。有沒有一種健壯的,包羅萬象的方式來查找源代碼中的所有鏈接,包括那些沒有href屬性的JavaScript構建的鏈接?請注意,我的抓取工具通過點擊鏈接無法工作(它只是將它們添加到列表中以便稍後打開),並且抓取工具需要能夠抓取任何網站,而不考慮具體情況。這可能嗎?
編輯:
下面是從所涉及的源代碼的一部分的前幾行。
var n111 = menuMgr.createMenu("ref111");
n111.addItem("126", "Staff Bios", "/staff.aspx", ["systems/nlsmenu/img/submenuovr.gif","systems/nlsmenu/img/submenuovr.gif"], true, null, "ref126");
var n112 = menuMgr.createMenu("ref112");
n112.addItem("146", "Promotional Video", "/PromotionalVideo.aspx", ["systems/nlsmenu/img/submenuovr.gif","systems/nlsmenu/img/submenuovr.gif"], true, null, "ref146");
n112.addItem("120", "Video for Social Media", "/vsm.aspx", ["systems/nlsmenu/img/submenuovr.gif","systems/nlsmenu/img/submenuovr.gif"], true, null, "ref120");
n112.addItem("147", "Live Webcasting and Event Video", "/Webcasting.aspx", ["systems/nlsmenu/img/submenuovr.gif","systems/nlsmenu/img/submenuovr.gif"], true, null, "ref147");
你能複製粘貼什麼「110至135(大約)」 – Amey
這裏有一個。他們都是完全相同主題的變體。 (我只在這裏包括一個,否則它看起來像是地獄。) n112.addItem(「148」,「Educational Programming」,「/Education.aspx」,[「systems/nlsmenu/img/submenuovr.gif」 ,「systems/nlsmenu/img/submenuovr.gif」],true,null,「ref148」); 編輯:上下文可能有幫助:基本上它是構建一個導航菜單,並添加項目。以上是其中一項。 – Tyler