要解决BeautifulSoup和Selenium无法在网站上找到div或文本的问题,可以尝试以下方法:
from selenium import webdriver
# 使用Chrome浏览器
driver = webdriver.Chrome()
# 打开网站
driver.get('https://example.com')
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
# 等待页面加载完成
wait = WebDriverWait(driver, 10)
wait.until(EC.presence_of_element_located((By.TAG_NAME, 'body')))
html = driver.page_source
from bs4 import BeautifulSoup
# 使用BeautifulSoup解析页面
soup = BeautifulSoup(html, 'html.parser')
# 查找div元素
div = soup.find('div', {'class': 'example'})
# 查找文本
text = soup.find('div', {'class': 'example'}).text
完整的代码示例:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from bs4 import BeautifulSoup
# 使用Chrome浏览器
driver = webdriver.Chrome()
# 打开网站
driver.get('https://example.com')
# 等待页面加载完成
wait = WebDriverWait(driver, 10)
wait.until(EC.presence_of_element_located((By.TAG_NAME, 'body')))
# 获取页面源代码
html = driver.page_source
# 使用BeautifulSoup解析页面
soup = BeautifulSoup(html, 'html.parser')
# 查找div元素
div = soup.find('div', {'class': 'example'})
print(div)
# 查找文本
text = soup.find('div', {'class': 'example'}).text
print(text)
# 关闭浏览器
driver.quit()
这样,你就可以使用BeautifulSoup和Selenium来定位和提取网站上的div元素或文本了。