【问题标题】:how to get anchor tag href attribute when it's hidden with selenium python如何在使用 selenium python 隐藏锚标签href属性时获取它
【发布时间】:2019-04-03 06:46:13
【问题描述】:

我目前正在使用 Selenium 制作一个简单的 python 爬虫。

有什么方法可以获取锚标签的链接地址(url)?当我看到 html 源代码时,它就像隐藏一样:

<a id='foo' href='#'></a>

其实我可以点击加载页面并获取url地址,但是之后需要等待一段时间。

【问题讨论】:

  • 你尝试了什么?
  • get_attribute() 现在可以工作,但是如果页面被重定向,那么您必须等待并获取URL 地址是可取的。
  • @AshishKamble 有什么办法可以在重定向之前获取地址吗?
  • @J.Victor 是 String url = element.get_attribute("href");将在重定向之前为您提供 URL。我说的是因为你可能会得到重定向,这可能发生不一定总是发生。

标签: python selenium url href


【解决方案1】:

对于您共享的 HTML:

<a id='foo' href='#'></a>  

你可以有一个像这样的网络元素

element = driver.find_element_by_id('foo')  

一旦你有了 web 元素,你就可以像这样获得属性:

href_val = element.get_attribute("href")
print(href_val)

【讨论】:

  • 这将返回“#”,是吗?我认为 OP 想知道如何从原始页面获取最终的重定向 URL,而无需单击链接并跟随它。
  • @JeffC :是的,在这种情况下它会返回 #。我将很难理解为什么 OP 想知道 URL 而不点击并关注?
  • 因为点击和关注需要时间...理想的情况是能够在没有额外的点击和关注秒数的情况下获取 URL。我只是不知道这是否可能。我有兴趣了解自己。
  • @JeffC 是的,这需要时间,所以我想在点击之前知道它。我也不知道这是否可能,所以我提出了这个问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-02-28
  • 1970-01-01
  • 1970-01-01
  • 2019-07-28
  • 1970-01-01
  • 1970-01-01
  • 2019-05-30
相关资源
最近更新 更多