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
我不熟悉将 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