我正在使用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