Python & Selenium:网页抓取

Python & Selenium: Webscraping

我不熟悉将 selenium 与 python 一起用于网络抓取。我试图从中抓取数据的网页在特定导航 class 中具有 href 元素。我需要点击 EXAMPLE3,但找不到 class 名称或 ID。

<nav class"nav-main">
    <ul class="nav nav-pills nav-main" id="topMain"><li class="dropdown">
        ::before
        <li class="dropdown">
           <a>EXAMPLE1<a>
        </li>
        <li class="dropdown">
           <a>EXAMPLE2<a>
        </li>
        <li class="dropdown">
           <a>EXAMPLE3<a>
        </li>
           :after
      </ul>
   </nav>

谢谢!

使用 Selenium 的 find_elements_by_css_selector() 方法,您可以获取所有具有共同 class 名称的元素并单击其中任何一个。这里有几行代码可以指导您正确的方向:

driver = webdriver.Chrome("LOCAL_PATH_TO_CHROMEDRIVER")
driver.get("YOUR_URL")

content = driver.page_source

third_element = driver.find_elements_by_css_selector('nav ul li.dropdown a')[2]

third_element.click()

或者,看看下面的文章(link 应该会让您进入“如何使用 Selenium 提取静态加载的内容”部分)可能会有所帮助,因为它扩展了相同的想法使用 Selenium 访问可点击元素:https://www.freecodecamp.org/news/how-to-scrape-websites-with-python-2/#how-to-extract-statically-loaded-content-using-selenium