Python Selenium-执行click()后页面源未更改
我正在浏览这个网站: 我正在使用Selenium(Python)并在名为“Showing”的下拉菜单中的选项300上执行单击选项。点击成功自动化,网页在一个页面中集中显示12个页面中的全部数据,但在抓取数据后,仅获得前12个数据项,即页面来源不变 这是我的代码:Python Selenium-执行click()后页面源未更改,python,selenium,web-scraping,selenium-chromedriver,Python,Selenium,Web Scraping,Selenium Chromedriver,我正在浏览这个网站: 我正在使用Selenium(Python)并在名为“Showing”的下拉菜单中的选项300上执行单击选项。点击成功自动化,网页在一个页面中集中显示12个页面中的全部数据,但在抓取数据后,仅获得前12个数据项,即页面来源不变 这是我的代码: from selenium import webdriver driver=webdriver.Chrome("/home/ronith/Downloads/chromedriver") driver.get('https://www
from selenium import webdriver
driver=webdriver.Chrome("/home/ronith/Downloads/chromedriver")
driver.get('https://www.findinall.com/finance-category-396/#')
driver.find_element_by_xpath("//select[@name='per_page']/option[@value
='300']").click()
driver.implicitly_wait(5)
data=driver.find_elements_by_xpath('//div[@class="pro-list-tb mt15"]')
for i in range(len(data)):
print(data[i].text,'\n\n')
driver.close()
我想在执行单击操作后,对所有可用数据进行刮取。我在这里做错了什么?而是使用Selenium来刮取、使用BeautifulSoup、请求和导入以下代码
import sys
from PyQt5.QtWidgets import QApplication
from PyQt5.QtCore import QUrl
from PyQt5.QtWebEngineWidgets import QWebEnginePage
from bs4 import BeautifulSoup
import requests
class Page(QWebEnginePage):
def __init__(self, url):
self.app = QApplication(sys.argv)
QWebEnginePage.__init__(self)
self.html = ''
self.loadFinished.connect(self._on_load_finished)
self.load(QUrl(url))
self.app.exec_()
def _on_load_finished(self):
self.html = self.toHtml(self.Callable)
def Callable(self, html_str):
self.html = html_str
self.app.quit()
并从jssoup导入页面将此代码导入另一个类似这样的python文件(我将其命名为“jssoup”)
我正在使用Selenium来自动单击按钮,否则我会使用BeautifulSoup Only学习
隐式等待
和显式等待
之间的区别,这将帮助您解决问题。在页面有机会刷新所有300条记录之前,您正在填充数据列表。
page = Page(url)
soup = bs.BeautifulSoup(page.html, 'lxml')
js_test = soup.find('p', class_='jstest')
print(js_test)