当前位置: 首页 > wzjs >正文

西安市做网站怎样查网站谁做的

西安市做网站,怎样查网站谁做的,网站建设维护报价,模板网站的缺点🌟 Selenium简单概述一下 Selenium 是一个开源的自动化测试工具,主要用于 Web 应用程序的功能测试。它能够模拟用户操作浏览器的行为(如点击按钮、填写表单、导航页面等),应用于前端开发、测试和运维领域。 特点 跨…

🌟 Selenium简单概述一下

Selenium 是一个开源的自动化测试工具,主要用于 Web 应用程序的功能测试。它能够模拟用户操作浏览器的行为(如点击按钮、填写表单、导航页面等),应用于前端开发、测试和运维领域。

特点

  1. 跨浏览器支持:兼容 Chrome、Firefox、Edge 等主流浏览器。
  2. 多语言支持:支持 Python、Java、JavaScript 等编程语言。
  3. 开源免费
  4. 强大的扩展性:结合测试框架(如 unittestpytest)和报告工具(如 Allure),可构建完整的自动化测试体系。

🛠️ 环境搭建

1. 安装 Python

Selenium 依赖 Python 环境。如果尚未安装,请访问 Python官网 下载并安装最新版本(推荐 Python 3.8+)。

2. 安装 Selenium 库

打开终端(或命令提示符),输入以下命令:

pip install selenium

3. 下载浏览器驱动

Selenium 需要通过 浏览器驱动 与浏览器交互。以下是常见浏览器的驱动下载地址:

  • Chrome 驱动:ChromeDriver
  • Firefox 驱动:GeckoDriver

⚠️ 注意:驱动版本需与浏览器版本匹配!例如,Chrome 123 需要 ChromeDriver 123.x。

将下载的驱动文件(如 chromedriver.exe)放入系统环境变量路径(如 C:\Windows/usr/local/bin),或直接放在脚本所在目录。


🧰 Selenium 几个核心功能

1. 启动浏览器与访问网页

from selenium import webdriver
from selenium.webdriver.chrome.service import Serviceservice = Service(executable_path='chromedriver.exe')
driver = webdriver.Chrome(service=service)driver.get("https://www.baidu.com")

2. 元素定位与操作

Selenium 提供多种元素定位方式:

定位方式示例代码
IDdriver.find_element(By.ID, "kw")
XPathdriver.find_element(By.XPATH, "//input[@id='kw']")
CSS 选择器driver.find_element(By.CSS_SELECTOR, "input#kw")
链接文本driver.find_element(By.LINK_TEXT, "新闻")

3. 常用操作方法

# 输入文本
element.send_keys("Hello Selenium")# 点击按钮
element.click()# 清除输入框内容
element.clear()# 获取文本内容
text = element.text

4. 显式等待与隐式等待

隐式等待(全局生效):

driver.implicitly_wait(10) 

显式等待(针对特定条件):

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as ECelement = WebDriverWait(driver, 10).until(EC.visibility_of_element_located((By.ID, "kw"))
)

5. 处理弹窗与文件上传

  • 弹窗处理

    driver.switch_to.alert.accept()  # 确认弹窗
    driver.switch_to.alert.dismiss()  # 取消弹窗
    
  • 文件上传

    driver.find_element(By.ID, "upload").send_keys("C:/path/to/file.txt")
    

🚀 测试框架与报告生成

关于 HtmlTestRunner 的具体用法请自行检索一下…

1. 使用 unittest 编写测试用例

import unittest
from selenium import webdriverclass TestBaiduSearch(unittest.TestCase):def setUp(self):self.driver = webdriver.Chrome()self.driver.get("https://www.baidu.com")def test_search(self):search_box = self.driver.find_element(By.ID, "kw")search_box.send_keys("Selenium")search_box.submit()self.assertIn("Selenium", self.driver.title)def tearDown(self):self.driver.quit()if __name__ == "__main__":unittest.main()

2. 生成 HTML 测试报告

使用 HTMLTestRunner 扩展生成可视化报告:

import unittest
import HtmlTestRunnerclass TestBaiduSearch(unittest.TestCase):# ...if __name__ == "__main__":unittest.main(testRunner=HtmlTestRunner.HTMLTestRunner(output='reports'))

运行后会在 reports 目录生成 HTML 报告,可查看测试结果详情。


🎯 实战项目:自动登录edu邮箱

用GPT加了注释,方便修改。

from selenium import webdriver  # 导入webdriver模块,用于浏览器自动化操作
from selenium.webdriver.common.by import By  # 导入By类,用于定位元素
from selenium.webdriver.support.ui import WebDriverWait  # 导入WebDriverWait类,用于等待页面加载
from selenium.webdriver.support import expected_conditions as EC  # 导入expected_conditions模块,用于设置等待条件# 创建一个新的Chrome浏览器实例
driver = webdriver.Chrome()try:# 访问登录页面driver.get("http://mail.stu.ynu.edu.cn/")# 定位用户名输入框并输入用户名username_input = driver.find_element(By.XPATH, "//input[@name='qquin']")username_input.send_keys("Name")  # 用户名# 定位密码输入框并输入密码password_input = driver.find_element(By.XPATH, "//input[@name='pp']")password_input.send_keys("Pwd")  # 密码# remember_me_checkbox = driver.find_element(By.ID, "ss")# remember_me_checkbox.click()# 勾选“5天内自动登录”复选框。# 经过测试,发现当鼠标停在复选框上时会有弹窗挡住登录按钮,# 因此使用js直接勾选remember_me_checkbox = driver.find_element(By.ID, "ss")driver.execute_script("arguments[0].checked = true;", remember_me_checkbox)# 定位登录按钮并点击login_button = driver.find_element(By.XPATH, "//input[@type='submit']")login_button.click()try:# 使用显式等待机制等待 div.topdata 元素出现(最长等待时间为5秒),# 该元素出现表示登录成功。topdata_element = WebDriverWait(driver, 5).until(EC.presence_of_element_located((By.CSS_SELECTOR, "div.topdata")))print("登录成功!")  # 登录成功后打印消息except Exception as e:# 如果在指定时间内未找到 div.topdata 元素,则捕获异常并打印错误信息print(f"登录失败: {e}")finally:# 不论登录是否成功,在最后都会关闭浏览器窗口driver.quit()

📚 学习资源

  1. Selenium 官方文档
  2. ChromeDriver 下载页面

文章转载自:

http://NlrMXKJJ.krjyq.cn
http://AEDOEkYK.krjyq.cn
http://qLOm5dle.krjyq.cn
http://3CUxjXHm.krjyq.cn
http://4mBoKZ3g.krjyq.cn
http://l822bdTT.krjyq.cn
http://1vCTZaye.krjyq.cn
http://RiENeVEb.krjyq.cn
http://R1GhZ5LL.krjyq.cn
http://RoHv0E9g.krjyq.cn
http://lwtIBwVV.krjyq.cn
http://anRUXbrM.krjyq.cn
http://2ECWjJ4e.krjyq.cn
http://SAQM8KRJ.krjyq.cn
http://hJOiX6aR.krjyq.cn
http://rkg4NJ5s.krjyq.cn
http://Wda1nV2W.krjyq.cn
http://VQtVAfqX.krjyq.cn
http://NPOlUUVV.krjyq.cn
http://y6qltNv0.krjyq.cn
http://lN83bdAB.krjyq.cn
http://7npsswg9.krjyq.cn
http://cImdupqV.krjyq.cn
http://VIJ7s8dz.krjyq.cn
http://mSYD0MuS.krjyq.cn
http://td5iExld.krjyq.cn
http://T9sSgkdI.krjyq.cn
http://k2SLxwmz.krjyq.cn
http://okuGcGCJ.krjyq.cn
http://DRLVUdZg.krjyq.cn
http://www.dtcms.com/wzjs/684204.html

相关文章:

  • 北京建设学院网站基于wordpress的商城系统
  • 注重网站内容维护西湖区高端网站建设
  • 影响网站用户体验大气宽屏网站模板
  • 安阳网络公司佛山网站建设优化制作公司
  • 纳税服务网站建设情况软件开发的生命周期
  • 同城网站开发建筑企业公司简介怎么写
  • 如何对网站管理百度文库官网首页
  • 太平洋电脑网站给酒吧做网站
  • 北京互联网公司建网站wordpress本站只对会员开放
  • 手机网站建设 如何获得更好的排名马克杯在线设计网站
  • 利用模板做网站wordpress搭建vip下载站
  • 做网站营业范围网站seo优化推广教程
  • 手机wap购物网站模板公司成立后网站建设
  • php做电影网站广州知名网站建设后台管理便捷
  • 网站建设论文 优帮云wordpress width
  • 繁峙做网站建设wordpress 微信模板怎么用
  • 政协网站建设方案域名注册没有网站
  • 江苏省住房与城乡建设部网站垂直型跨境电商平台
  • 厦门人才网官方网站如何开公众号微信公众平台
  • 网站开发的费用计入什么科目营销型网站北京
  • 义乌公司网站建设宁乡网站开发公司推荐
  • 唐山网站制作软件wordpress wp_query 排序
  • 自己做的网站出现iis7傻瓜式安卓app开发工具
  • 昆明网站seo诊断福田市网站建设推广
  • 运营推广网站建设wordpress cos-html-cache
  • 实施网站推广的最终目的是制作一个网站的基本步骤
  • 震旦网站谁做的有哪些平台网站是做废钢的
  • 大连网站排名优化公司做视频教育网站
  • 企业vi设计与网站开发新能源电动汽车电池使用寿命多久
  • 网站建设和网页制作西安网站关键词推广