代码之家  ›  专栏  ›  技术社区  ›  mathias5986

HTML Selenium Python点击href链接

  •  1
  • mathias5986  · 技术社区  · 2 年前

    我想写一个python代码,他点击href链接。

    HTML的截图: screenshot of HTML code

    这是我目前在Python中使用的,但它不起作用。

    tables = browser.find_elements_by_xpath('//*[@id="notice"]')
    
    for table in tables:
         row = table.find_element_by_xpath('//tr[@class="Zebra"]//td//a[@href="https://enot.publicprocurement.be/enot-war/preViewNotice.do?noticeId=438868&saveSearchParams=true&pageSize=%31%32%35&d-446978-p=%31&"]').click()
    

    这是第行的错误消息:

    NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//tr[@class="Zebra"]//td//a[@href="https://enot.publicprocurement.be/enot-war/preViewNotice.do?noticeId=438868&saveSearchParams=true&pageSize=%31%32%35&d-446978-p=%31&"]"}
    

    你能告诉我我做错了什么吗?

    1 回复  |  直到 2 年前
        1
  •  0
  •   undetected Selenium    2 年前

    所需的元素是 <a> 元素与 内部文本 安特卫普大学-22004

    要单击所需的元素,可以使用以下任一选项 locator strategies :

    • 使用 href 属性:

      table.find_element_by_xpath('.//tr[@class="Zebra"]//td//a[starts-with(@href, "https://enot.publicprocurement.be/enot-war/preViewNotice.do?noticeId")]').click()
      
    • 使用 内部文本 :

      table.find_element_by_xpath('.//tr[@class="Zebra"]//td//a[contains(., "Universiteit Antwerpen-22004")]').click()