我正在使用 Selenium 和 Python 构建一个网络爬虫,但遇到了一些障碍。爬虫通过使用查找所有链接来工作
ListlinkerHref = self.browser.find_elements_by_xpath("//*[@href]")
并遍历 ListlinkerHref。这对于带有 href 属性的经典链接非常有用。然而,快速浏览一下 www.primitiveworldproductions.com 主页的源代码,在第 110 行和第 135 行之间(大约)显示了一堆使用 Javascript 构建的链接,而没有看到 href 属性。
我对 Javascript 几乎一无所知,我查看了 Selenium 文档,但我找不到检测这些链接的方法。是否有一种强大的、包罗万象的方法来查找源代码中的所有链接,包括那些由 Javascript 构造的没有 href 属性的链接?请注意,我的爬虫无法通过单击链接来工作(它只是将它们添加到稍后打开的列表中),并且爬虫需要能够爬取任何站点,而不考虑具体细节。这可能吗?
编辑:
以下是相关源代码部分的前几行。
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");