【问题标题】:Click a href button with no class, id or link text with Selenium使用 Selenium 单击没有类、ID 或链接文本的 href 按钮
【发布时间】:2020-05-30 05:44:01
【问题描述】:

我正在抓取网页:www.ogimet.com,我想点击一个 href 按钮。

这是html代码:

<a href="/sondc.phtml"><b>S</b>ondeos por territorios</a>

如何点击这个按钮?如果可以避免driver.find_element_by_xpath()

【问题讨论】:

    标签: python selenium web-crawler


    【解决方案1】:

    你提供的链接确实有一个链接文本可以用来选择它,你只需要去掉粗体标签,所以Sondeos por territorios而不是&lt;b&gt;S&lt;/b&gt;ondeos por territorios

    使用driver.find_element_by_link_text

    link = driver.find_element_by_link_text('Sondeos por territorios')
    

    【讨论】:

      【解决方案2】:

      我会这样做,我创建了一个可重用的函数,它通过标签和匹配的属性返回第一个元素。

      def getElementByTagAndAttributes(driver, tag, **kwargs):
          for element in driver.find_elements_by_tag_name(tag):
              for key, value in kwargs.items():
                  attribute = element.get_attribute(key)
                  if attribute != value:
                      break
              else:
                  return element
      
      getElementByTagAndAttributes(driver, "a", href="/sondc.phtml").click()
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-11-02
        • 1970-01-01
        • 2016-04-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-02-24
        • 1970-01-01
        相关资源
        最近更新 更多