<a title="0000_主题曲PV《余年一梦》" style="overflow: hidden;" onclick="testFn('3a0fa16c-5ac8-0887-90a4-eb897e031872')" href="javascript:">0000_主题曲PV《余年一梦》</a>
这样的怎么提取href呢?用selenium获取所有节点后再遍历执行javascript点击节点后获取current_url老是出现错误,提取不出来href
<a title="0000_主题曲PV《余年一梦》" style="overflow: hidden;" onclick="testFn('3a0fa16c-5ac8-0887-90a4-eb897e031872')" href="javascript:">0000_主题曲PV《余年一梦》</a>
这样的怎么提取href呢?用selenium获取所有节点后再遍历执行javascript点击节点后获取current_url老是出现错误,提取不出来href
以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:
在你提供的HTML示例中,<a>
标签的href
属性值是javascript:
,这意味着它并没有指向一个外部链接,而是执行了一段JavaScript代码。在这种情况下,使用href
属性来获取链接是不合适的,因为实际上并没有一个可导航的URL。
如果你的目标是提取执行onclick
事件后跳转到的URL,那么你需要分析onclick
事件中调用的testFn
函数的实现。由于onclick
事件中的JavaScript代码没有提供,我们无法直接知道testFn
函数是如何工作的。但是,你可以采取以下步骤来尝试解决这个问题:
分析JavaScript代码:首先,你需要找到testFn
函数的定义,并分析它是如何工作的。这可能需要查看页面的JavaScript源代码或使用浏览器的开发者工具。
模拟JavaScript函数:如果testFn
函数是页面的一部分,并且可以在不执行点击事件的情况下调用,你可以尝试直接在Selenium中调用这个函数来获取跳转的URL。
使用Selenium执行JavaScript:如果找到testFn
函数的定义,你可以使用Selenium的execute_script
方法来执行这个函数,并捕获执行后的结果。
下面是一个使用Selenium执行JavaScript的示例代码:
from selenium import webdriver
# 假设你已经设置了webdriver并加载了页面
driver = webdriver.Chrome()
driver.get('你的页面URL')
# 执行JavaScript函数并获取结果
result = driver.execute_script('return testFn("3a0fa16c-5ac8-0887-90a4-eb897e031872");')
# 打印结果
print(result)
错误处理:如果你在使用Selenium执行点击事件或执行JavaScript时遇到错误,确保检查Selenium的日志输出,了解具体的错误信息,并根据错误信息进行调试。
参考链接:以下是一些可能对你有帮助的参考链接:
请注意,由于我无法访问外部链接,上述链接仅供参考,你可能需要自行搜索以获取最新的资源。如果你需要进一步的帮助,请提供更多的信息或错误详情。