python selenium如何从谷歌获取链接

时间:2016-08-28 17:21:52

标签: python selenium

如何从Google获取链接?我尝试了以下方法,但没有一个工作:

  1. find_elements_by_xpath("//*[@class='r']/@href")
  2. driver.find_element_by_xpath("//a").get_attribute("href")
  3. driver.find_element_by_xpath("//a").get_attribute(("href")[2])
  4. 我收到"没有"

    我需要获取谷歌链接,而不是链接到该网站(例如,不是www.stackoverflow.com)。它在此图片中突出显示:

    enter image description here

1 个答案:

答案 0 :(得分:0)

您可能在此处遇到多个问题: 第一个和第三个选项不是有效的xpath。第二个选项可能会找到多个匹配项,因此它将返回第一个匹配的匹配项,这不一定是您想要的匹配项。所以我建议:

  1. 使查找具体到足以找到合适的元素。如果您知道要选择的链接的名称,我建议find_element_by_link_text

    link = driver.find_element_by_link_text('Stack Overflow')
    
  2. 鉴于您选择了正确的链接,您应该能够获得属性:

    href = link.get_attribute('href')
    
  3. 如果第一个语句抛出异常(很可能元素未找到),您可能需要等待元素出现在页面上,如上所述here < / p>