Selenium:在进行JavaScript调用时无需点击即可获得最终的href /链接 - javascript

我正在抓取一长串的html链接(在ToS下允许)。但是,所有链接都是javascript调用(href =“ javascript :;”),因此使用get_attribute()获取链接将不起作用。我不想实际单击所有链接,因为它会为每个链接下载一个较大的pdf文件

是否有可能获得最终调用的href /链接,而无需实际单击链接并下载文件?

谢谢!

参考方案

是的,但不容易-您需要查看这些链接之外的javascript,这些链接可能是动态生成的。

在此描述执行此<a href="javascript:;"></a>的想法
What does href expression <a href="javascript:;"></a> do?

简而言之:在要使<a>正确呈现的HTML中,您需要设置href,但是有时没有直接链接或以某种方式对其进行了计算-因此,您需要查看执行这些链接处理的javascript代码-可能是一些您需要找到的click事件监听器

Selenium:如何使RemoteDriver始终附加到当前的浏览器选项卡? - javascript

我正在开发一个Windows应用程序,该应用程序可以通过语音命令操纵浏览器。我想适当地处理用户添加一些标签并根据需要更改所选标签的情况。事实证明,RemoteDriver仅与一个选项卡一起使用,并且可以通过提供选项卡手柄将焦点切换到另一个选项卡。但是我不知道如何获取选定的选项卡句柄并始终检查选定的选项卡是否已更改,或者是否存在始终与选定的选项卡一起使用的方法…

从Chrome WebDriver访问getEventListeners(Python) - javascript

目标:从Selenium WebDriver获取附加到节点的所有事件我正在使用selenium-python,我想执行一个javascript脚本(通过driver.execute_script('my js script')。该脚本使用getEventListeners,仅在Chrome上可用。我成功使用了driver = webdri…

使用IJavaScriptExecutor时如何挂钩自定义JavaScript触发器 - javascript

我们在Web应用程序中定义了此事件,该事件创建了一个名为timelineEventClicked的自定义触发器canvas.addEventListener('click', function (evt) { evt.stopImmediatePropagation(); var mousePos = getMousePos(canvas…

从php url获取可下载二进制文件的文件名,而无需实际下载文件 - javascript

我正在用Python在Selenium中进行网络抓取,并且页面上有一个指向例如的链接。<a href="/zip.php?zipid=103">Click Here To Download</a> 现在,当然,如果我单击它,我的浏览器将立即开始下载文件,例如myinterestingarchive.zip我想知道的…

Python和Selenium:访问隐藏在Javascript构建的下拉菜单中的链接的好方法是什么? - javascript

我正在使用Selenium在Python中构建网络爬虫。以下是搜索链接的功能。除了被注释掉的部分,它工作正常。想法是将鼠标悬停在要检查的页面上找到的每个链接上,如果该悬停操作显示出更多链接(例如,在使用Javascript构建的下拉菜单中),然后使用对getLinksFromHTML的递归调用添加这些链接( “ if code!= 1”部分就在那里以确保只有…