0


企业级 Selenium 刷 其他平台 博客访问(学习使用 )

在这里插入图片描述

今天我们来学习一下 Selenium , 来统计 博客的访问量

在这里插入图片描述

Selenium 介绍

在这里插入图片描述

Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera,Edge等。这个工具的主要功能包括:测试与浏览器的兼容性——测试应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成.Net、Java、Perl等不同语言的测试脚本。

安装镜像

Selenium是一个自动化测试框架,用于模拟用户在浏览器中的行为。要在Python中使用Selenium,您需要安装Selenium WebDriver,它是一个控制浏览器的库。

要安装Selenium WebDriver,您需要执行以下步骤:

在浏览器中下载WebDriver二进制文件,例如ChromeDriver,FirefoxDriver等。您可以从以下链接下载WebDriver二进制文件:
ChromeDriver:https://sites.google.com/a/chromium.org/chromedriver/downloads
FirefoxDriver:https://github.com/mozilla/geckodriver/releases

将WebDriver二进制文件复制到您的计算机上的某个目录中,例如/usr/local/bin或C:\Windows。

python

安装Selenium库。您可以使用以下命令在Python中安装Selenium:

pip install selenium

刷新页面 :

from selenium import webdriver

# 创建Chrome浏览器驱动
driver = webdriver.Chrome()# 打开网页
driver.get('http://www.example.com')# 刷新页面
driver.refresh()# 关闭浏览器
driver.quit()

java

当然你也可以使用Java来进行访问

<dependency><groupId>org.seleniumhq.selenium</groupId><artifactId>selenium-java</artifactId><version>3.141.59</version></dependency>
importorg.openqa.selenium.WebDriver;importorg.openqa.selenium.chrome.ChromeDriver;publicclassExample{publicstaticvoidmain(String[] args){// 指定ChromeDriver的位置System.setProperty("webdriver.chrome.driver","/usr/local/bin/chromedriver");// 创建Chrome浏览器驱动WebDriver driver =newChromeDriver();// 打开网页
        driver.get("http://www.example.com");// 模拟用户操作
        driver.findElement(By.name("q")).sendKeys("selenium");
        driver.findElement(By.name("q")).submit();// 关闭浏览器
        driver.quit();}}

哪如果我们要刷新博客访问量该怎么做呢?

在这里插入图片描述

  • Python 版本
import time
from selenium import webdriver

# 创建Chrome浏览器驱动
driver = webdriver.Chrome()# 打开博客页面
driver.get('http://yourblog.com')# 等待5秒钟,模拟用户浏览博客
time.sleep(5)# 刷新页面
driver.refresh()# 再等待5秒钟
time.sleep(5)# 关闭浏览器
driver.quit()

在上面的代码中,我们使用了ChromeDriver来启动Chrome浏览器,并打开了博客页面。然后,我们使用time.sleep()方法等待5秒钟,模拟用户停留在页面上。接下来,我们使用refresh()方法刷新页面,再等待5秒钟,以增加博客访问量。最后,我们关闭了浏览器。请注意,这种方式不是一种合法的方法来增加博客访问量,而且可能会违反网站的规定,因此请慎重使用。

  • 如果我们进行了刷新博客的操作,也就是我们只需要加个for 循环就可以反复的 刷新

但是如果我们需要 将刷新的结果保存数据库该如何操作呢 ?

在这里插入图片描述

要使用Selenium刷新页面并增加博客访问量,并将访问量统计数据存储到数据库中,您可以结合使用Selenium和Python中的数据库模块(例如MySQLdb或SQLite3),以及时间模块。以下是一个示例:

`

import time
import datetime
import random
import MySQLdb
from selenium import webdriver

# 创建Chrome浏览器驱动
driver = webdriver.Chrome()# 打开博客页面
driver.get('http://yourblog.com')# 等待5秒钟,模拟用户浏览博客
time.sleep(5)# 刷新页面
driver.refresh()# 再等待5秒钟
time.sleep(5)# 获取当前时间和日期
now = datetime.datetime.now()# 生成随机访问量
visits = random.randint(100,500)# 将访问量数据存储到MySQL数据库中
db = MySQLdb.connect(host='localhost', user='root', passwd='password1', db='mydatabase')
cursor = db.cursor()
sql ="INSERT INTO blog_stats (date, visits) VALUES (%s, %s)"
values =(now.strftime('%Y-%m-%d'), visits)
cursor.execute(sql, values)
db.commit()# 关闭数据库连接
db.close()# 关闭浏览器
driver.quit()

如果我们还想要刷新完页面之后 在前端展示该怎么做

使用代码

首先需要将结果查出来,然后交给前端就 ok了

  1. 首先,我们需要从MySQL数据库中读取访问量数据,并将其存储在Python列表中:
import MySQLdb

# 连接到MySQL数据库
db = MySQLdb.connect(host='localhost', user='root', passwd='password1', db='mydatabase')
cursor = db.cursor()# 查询访问量数据
cursor.execute("SELECT date, visits FROM blog_stats")# 将查询结果存储到Python列表中
data =[]for row in cursor.fetchall():
    data.append({'date': row[0],'visits': row[1]})# 关闭数据库连接
db.close()

在上面的代码中,我们使用Python的MySQLdb模块连接到MySQL数据库,并查询访问量数据。然后,我们使用Python的列表数据结构将查询结果存储起来。

  1. 接下来,我们需要使用一个前端框架将访问量数据呈现在页面上。以下是一个使用React框架的示例代码:
import React,{ useState, useEffect }from'react';import axios from'axios';functionApp(){const[data, setData]=useState([]);useEffect(()=>{asyncfunctionfetchData(){const result =await axios.get('/api/blog-stats');setData(result.data);}fetchData();},[]);return(<div><h1>Blog Stats</h1><table><thead><tr><th>Date</th><th>Visits</th></tr></thead><tbody>{data.map((item)=>(<tr key={item.date}><td>{item.date}</td><td>{item.visits}</td></tr>))}</tbody></table></div>);}exportdefault App;

在上面的代码中,我们使用React框架来创建一个React组件,并使用useState钩子和useEffect钩子来管理组件的状态和生命周期。我们使用axios库来发起API请求,并将访问量数据存储在组件的状态中。最后,我们使用JSX语法将访问量数据呈现为一个表格。

  1. 最后,我们需要在后端实现一个API来提供访问量数据。以下是一个使用Flask框架的示例代码:
from flask import Flask, jsonify
import MySQLdb

app = Flask(__name__)@app.route('/api/blog-stats')defblog_stats():# 连接到MySQL数据库
    db = MySQLdb.connect(host='localhost', user='root', passwd='password1', db='mydatabase')
    cursor = db.cursor()# 查询访问量数据
    cursor.execute("SELECT date, visits FROM blog_stats")# 将查询结果转换为JSON格式,并返回给客户端
    data =[]for row in cursor.fetchall():
        data.append({'date

哪如果使用 Java呢 ?

  1. 使用 Selenium 和 Java 编写程序,自动访问博客并模拟用户行为。您需要使用 Java 中的 Selenium WebDriver 类来实现这个功能,例如使用 WebDriver.get() 方法来访问博客页面。您可以在访问网页后等待一段时间再进行下一个操作,例如使用 Thread.sleep() 方法等待页面加载完毕。
  2. 在访问博客时,您需要模拟用户行为,例如点击页面中的链接或按钮,滚动页面等等。使用 Selenium 的 Action 类可以实现这个功能。例如,使用 Actions.click() 方法来模拟点击操作。
  3. 在程序中使用 Java 的 JDBC 接口来连接数据库。您需要在程序中使用 JDBC 驱动程序,并且提供数据库连接字符串、用户名和密码等信息。
  4. 将博客访问量统计数据存储在数据库中。您可以创建一个表来存储博客页面的 URL、访问次数和最后访问时间等信息。每次访问博客时,程序应该更新相应的记录或插入新的记录。
  5. 使用 React 编写前端页面,从数据库中获取博客访问量统计数据,并在前端展示出来。您可以使用 React 的 UI 组件库来创建图表和表格等可视化控件,以展示访问量统计数据。
  6. 最后,您需要将这个程序部署到一个 Web 服务器上,以便让其他人可以访问。您可以使用 Tomcat 等 Java Web 服务器来部署程序,并将前端页面发布到 Web 服务器上。
标签: selenium 学习 chrome

本文转载自: https://blog.csdn.net/qq_42897427/article/details/129544021
版权归原作者 刘架构 所有, 如有侵权,请联系我们删除。

“企业级 Selenium 刷 其他平台 博客访问(学习使用 )”的评论:

还没有评论