【发布时间】:2019-06-05 23:06:51
【问题描述】:
我必须从 AXS.com 网站上抓取所有活动详细信息,作为我的网络抓取任务的一部分。我尝试过将 chrome web 驱动程序与 Python+Selenium 一起使用。
我可以通过使用driver.find_element_by_class_name() 来获得价值,例如driver.find_element_by_class_name("headliner").text。
但这只会得到第一项。在使用driver.find_elements(By.XPATH,"//div[@class='results-table results-table--events']") 后尝试迭代时,我被卡住了。
from bs4 import BeautifulSoup
from selenium import webdriver
import time
driver = webdriver.Chrome('/home/.../chromedriver_linux64/chromedriver')
driver.get("https://www.axs.com/browse/music/alternative-punk")
driver.implicitly_wait(10)
allevent_details = driver.find_elements(By.XPATH,"//div[@class='results-table results-table--events']")
for i in allevent_details:
print(i.find_element_by_class_name("headliner").text)
错误
NoSuchElementException: no such element: Unable to locate element: {"method":"class name","selector":"headliner"}
(Session info: chrome=74.0.3729.169)
(Driver info: chromedriver=74.0.3729.6 (255758eccf3d244491b8a1317aa76e1ce10d57e9-refs/branch-heads/3729@{#29}),platform=Linux 4.15.0-50-generic x86_64)
预期:
- 内波
- BLOXX....等
【问题讨论】:
标签: python selenium-webdriver xpath css-selectors webdriverwait