【发布时间】:2021-01-31 13:25:33
【问题描述】:
如果这个问题看起来很新手,请原谅,因为我对它很陌生,但我已经尝试了很多方法,但无法找到任何解决方案。 我试图刮掉这个 website 。下面是代码:-
import requests
import pandas as pd
import re
from bs4 import BeautifulSoup
from selenium import webdriver
import time
urls = []
for i in range(1,5):
pages = "https://speta.org/home/directory-of-members/?type=companies&category%5B%5D=corporate-member&pg={0}&sort=a-z".format(i)
urls.append(pages)
Data = []
options = webdriver.ChromeOptions()
options.add_argument('headless')
browser = webdriver.Chrome(executable_path =r"C:/XXXXXX/XXXXXXX/chromedriver.exe", options=options)
links=[]
for info in urls:
browser.get(info)
time.sleep(10)
elements = browser.find_element_by_xpath("//div[@class='1f-item 1f-item-default']/a")
link = [elem.get_attribute('href') for elem in elements]
links.append(link)
print(links)
错误:-
NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//div[@class='1f-item 1f-item-default']/a"}
(Session info: headless chrome=88.0.4324.104)
我确定我在此处识别正确标签时犯了一个错误, 任何建议将不胜感激!!
谢谢!!
【问题讨论】:
-
对于单个元素使用 browser.find_element_by_xpath 并找到多个元素 browser.find_elements_by_xpath,其返回列表
-
@SamsulIslam _ 即使我使用元素,它也会给出一个空列表
标签: python-3.x selenium-webdriver web-scraping beautifulsoup