selenium - python 总结

python+selenium,详解selenium原理。 鉴于很多同学对原理都处于懵逼状态,那么就仔细阅读这篇文章然后自己去体会。 1.在之前学过的接口测试里面我们事如何做接口测试的? 首先是python请求了一个接口地址,发送对应的参数,然后拿到服务器给我们的返回值。那有人肯定不知道这个服务器为什么会给我们返回值? 拓展下: 当你拿着一个地址去请求后端服务器的时候,实际上是去调用后端程序员哥哥写的一个函数,每一个地址(地址实际上是后端程序员哥哥设置的不... 阅读详情
# coding:utf-8
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import unittest


class Test_Photo(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Chrome()
        self.baseUrl = "http://photo.163.com"
        #设置等待时间,防止页面未加载完成脚本提示异常
        self.driver.implicitly_wait(30)
        self.verificationErrors = []

    def test_WebDriverTest1(self):
        #打开一个网址
        driver = self.driver
        driver.get(self.baseUrl + "/")

        #输入用户名
        #by XPath
        driver.find_element_by_xpath("//input[@name='username']").clear()
        driver.find_element_by_xpath("//input[@name='username']").send_keys("angel-zhe@163.com")
        driver.find_element_by_xpath("//input[@name='username']").send_keys(Keys.ENTER)

        #输入密码
        #by name
        driver.find_element_by_name("password").clear()
        driver.find_element_by_name("password").send_keys("xtrrk0707")

        #点击登录
        #by id
        driver.find_element_by_id("photo_index_login").click()

        #获取页面Title
        #by js
        print driver.title

        #进入我的相册
        #by Xpath
        driver.find_element_by_css_selector("span.name").click()
        # driver.find_element_by_xpath("//div[@id='J-loginMod']/div/a[1]/span[1]").click()

        #点击  创建相册
        #by linkText
        driver.find_element_by_link_text("创建相册").click()

        #输入相册名称
        #by name
        driver.find_element_by_name("fm-0").clear()
        driver.find_element_by_name("fm-0").send_keys("new ablum2")
        #by Xpath
        #driver.find_element_by_xpath("//input[@name='fm-0']").clear()
        #driver.find_element_by_xpath("//input[@name='fm-0']").send_keys("new ablum")

        #选择私人相册
        driver.find_element_by_xpath("(//input[@name='fm-2'])[5]").click()

        #点击确定 两种方式
        #by css
        driver.find_element_by_css_selector("button.ui-btn.ui-btn-sub0").click()
        driver.implicitly_wait(10)

        #点击返回
        #by linkText
        driver.find_element_by_link_text("<<返回").click()

        #选择aaa分类
        #by css
        #select = driver.find_element_by_css_selector("select.fc5.bdwa")
        #/选择的三种不同实现
        #select.select_by_value("aaa")
        #select.select_by_index(1)
        #select.select_by_visible_text("aaa")

        #以上这个分类操作方法因为界面问题,还没有尝试去验证Select方法,以下经Link_Text方法操作
        #by link_Text
        driver.find_element_by_link_text("分类").click()
        driver.find_element_by_link_text("全部相册").click()
        driver.implicitly_wait(10)

        #打开相册
        #by Xpath
        driver.find_element_by_xpath("//img[@title='我的相册 ']").click()

        #打开某张照片
        #by Css
        driver.find_element_by_css_selector("div.item.on > div.ln.ln0 > a > img.ztag201008041230345").click()

        #下一张浏览照片
        #by Css
        driver.find_element_by_css_selector("div.ibox.right-img > img.ztag201008041230345").click()

        #输入评论
        #/因为评论框放在一个iframe中,所以要切换到iframe中,结束后将焦点切换回去
        #by tagName
        driver.switch_to_frame(driver.find_element_by_tag_name("iframe"))
        activeElementid = driver.switch_to_active_element().get_attribute("id")
        driver.find_element_by_id(activeElementid).sendKeys("评论内容!")
        driver.switch_to_default_content()

        #点击 发表,两种方式
        #by className
        driver.find_element_by_class_name("ui-btn-main0").click()
        #by Xpath
        driver.find_element_by_xpath("//input[@value='发表']").click()

        #上一张浏览照片
        #by Css
        driver.find_element_by_css_selector("div.ibox left-img > img.ztag201008041230345").click()

        #点击 删除
        #by linkText
        driver.find_element_by_link_text("删除").click()

        #点击 确认
        #by Css
        #driver.find_element_by_css_selector("button.ui-btn.ui-btn-sub0").click()
        driver.find_element_by_link_text("确 定").click()

        #点击 返回
        #by xpath
        driver.find_element_by_link_text("<<返回").click()

        #退出登录
        #by id
        driver.find_element_by_id("headerLogout").click()

        #浏览器后退
        driver.back()

    def tearDown(self):
        self.driver.quit()
        self.assertEqual([], self.verificationErrors)

if __name__ == "__main__":
    unittest.main()

Python 爬虫selenium selenium可以操作浏览器,在浏览器页面上实现:点击、输入、滑动 等操作。 阅读详情

相关推荐

使用Python安装Selenium

本文介绍了如何在Python中安装Selenium,并提供了一个简单的示例代码。安装Selenium后,你可以使用它来自动化浏览器操作,进行自动化测试、数据抓取等任务。记得根据你使用的浏览器下载相应的驱动程序,并将其添加到系统的环境变量中,以便Selenium能够正常使用。安装Python之后,我们可以使用Python的包管理工具pip来安装Selenium。根据你使用的浏览器,选择对应的驱动程序。下载完驱动程序后,将驱动程序的路径添加到系统的环境变量中,这样Selenium才能找到并使用它。

WELL_CODER的博客 1872

基于Python的Selenium详细教程

这篇文章是 Selenium 的使用教程。先介绍在 Windows 11、Python 3.10.5、PyCharm 2022.1.3 环境下,安装 Selenium 4.3.0 及配置浏览器驱动的方法,并给出验证步骤。接着详细讲解 Selenium 的使用,包括元素定位、文本操作、获取页面内容、等待方式、窗口及框架处理,还有鼠标、键盘操作,以及执行 JS 代码、截图等,助力读者掌握 Selenium 在 Web 自动化方面的应用。

Smile的博客 6万+

Labview调用C++ dll之字符串数组传递

做项目的时候碰到了一个需求,有一个复杂的运算,用labview实现非常的麻烦,但是如果用C++实现,就会灵活很多。尝试着采用Labview调用C++编写的动态链接库方式解决,兼顾Labview的便利和C++的灵活性。 运算好说,主要难点是Labview与C++之间的数据对应关系,因为我最后的结果是既有字符串又有数字,对于单纯的数字来说,直接通过调用数组的方式就能解决,这里主要记录一下字符串数组...

bgbgx的博客 6807

Python爬虫基础之Selenium详解

围绕 Selenium 库展开讲解如何使用自动化工具操作浏览器。

程序园@大Null 2万+

Android Qcom USB Driver学习(五)

在前面的第二期中,我们知道一些非标的USB的充电类型Floatingcharger,其具有和普通DCP相似的大电流能力,但在最初检测的时候会限制Inputcurrentlimit到100mA,来进行检测是否是SDP类型,所以要支持大电流输入就需要进行vote操作,前面的几篇都有涉及,所以本文学习一下pmicusbcharger都相关的vote机制。...

Android驱动开发 2901

auboi5 + d435i 使用easy handeye进行标定时,遇到相关问题记录。

解决办法:在easy_handeye默认的 calibrate.launch 文件中move group 的默认值为 "manipulator",但针对每个人的机械臂,这个值需要更改。以aubo_i5为例,需要将其改为"manipulator_i5",或者自己编写launch文件时,传入参数move group的值,便能顺利解决问题!easy_handeye_calibration_server 进程出现崩溃。

weixin_61025092的博客 958

Python爬虫:selenium

Python爬虫之selenium

mengnf的专栏 2万+

STM32定时器ARR寄存器详解:从‘水桶接水’到精准测速,你的PWM和编码器都靠它

本文深入解析STM32定时器ARR寄存器的核心原理与应用技巧,从PWM波形生成到编码器测速实战。通过水桶模型和硬件本质的比喻,揭示ARR如何作为定时器的'心跳节拍器',并详细探讨其在动态调频、死区时间配置和高精度PWM中的关键作用。特别针对编码器模式下的ARR配置和溢出补偿算法进行优化建议,帮助工程师提升系统性能和实时性。

weixin_33734785的博客 379

selenium+python爬虫全流程教程

python+selenium爬虫全流程详解selenium+python爬虫简介selenium测试脚本python+selenium模拟浏览器----以chrome为例浏览器驱动安装浏览器模拟基本操作爬取数据--web定位案例--b站排行榜定位方法以及实操部分可能会用到的方法(辅助爬虫/降低反爬)加快网页加载速度(不加载js,images等)异常捕捉网页等待加载在输入框中输入数据网页点击(如点击下一页,或者点击搜索)打印网页信息切换iframe网页滚动(更像真人)随机等待几秒再操作(更像真人)三级目录

苏格拉没有鞋底的博客 4万+

Flink CDC 3.0 详解

Flink CDC 是基于数据库日志 CDC(Change Data Capture)技术的实时数据集成框架,支持全增量一体化、无锁读取、并行读取、表结构变更自动同步、分布式架构等高级特性。配合Flink 优秀的管道能力和丰富的上下游生态,Flink CDC 可以高效实现海量数据的实时集成。Flink CDC 于2023年12月7日重磅推出其全新的 3.0 版本,3.0版本的发布对 Flink CDC 而言具有里程碑的意义,自此 Flink CDC 从捕获数据变更的Flink 数据源正式迈向为以 Flink

奔跑的蜗牛的博客 2638

LaMAR数据集下载和使用流程

LaMAR数据集

qq_51745206的博客 971

Selenium元素定位方法总结

元素由标签头+标签尾+标签头和标签尾包括的文本内容;元素的信息就是指元素的标签名及元素的属性;元素的层级结构就是指元素之间相互嵌套的层级结构;元素定位最终就是通过元素的信息或者元素的层级结构来进行元素定位;...

qq_46416934的博客 3829

新凯来嵌入式面经及参考答案

利用编译器预定义宏判断目标架构,如。

大模型大数据攻城狮的专栏 2065

Python中Selenium的使用

目录 Selenium简介 安装Selenium-Python Selenium-Server的安装与使用 Selenium常用操作 请求一个页面 查找元素 填写表格 拖放 在不同的窗口和框架之间移动 访问浏览器历史记录 操作Cookies 等待页面加载完成 显式等待 隐式等待 页面对象 python_test.py page.py element.py ...

pengjunlee的博客 3万+

Python爬虫实战:深度解析携程/飞猪酒店评论API与大数据采集

本文详细介绍了如何通过Python爬虫技术获取携程和飞猪平台的酒店评论数据。我们涵盖了从API分析、反爬虫对策到数据存储和处理的完整流程。API逆向分析:通过浏览器开发者工具发现和分析API接口反爬虫对策:使用请求头随机化、IP代理、浏览器自动化等技术异步处理:使用asyncio提高爬取效率数据质量:实现数据清洗和质量检查机制系统架构:构建可扩展的分布式爬虫系统未来改进方向:机器学习识别验证码分布式爬虫架构实时数据流处理更智能的反反爬虫策略。

2201_76125261的博客 601

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

python怎么装selenium?python装selenium教程

在 Python 中安装 Selenium 是一个相对简单的过程。以下是安装 Selenium 的步骤:确保 Python 已安装: 首先,你需要确保你的计算机上已经安装了 Python。你可以在命令行中输入 python --version 来检查是否已安装 Python。安装 pip:pip 是 Python 的包管理...

weixin_32252533的博客 407

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

python selenium下载_Python Selenium安装下载

本篇讲解Python Selenium如何安装,下载。本篇已假定你已经熟悉Python,并且已安装好Python和pip。本篇及以后篇幅所讲代码都调试运行在Python3.6版本上通过。Python selenium安装两种安装方法,第一种方法最方便,使用pip安装。windows用户在命令提示符下执行如下命令:pip install seleniumlinux用户你肯定知道怎么运行这个命令的。安...

weixin_39622760的博客 1125

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

python selenium安装_python+selenium 安装及部署

前言目前selenium版本已经升级到3.0了,网上的大部分教程是基于2.0写的,所以在学习前先要弄清楚版本号,这点非常重要。本系列依然以selenium2为基础,目前selenium3坑比较多,暂时没精力去研究,后续会出相关教程。一、selenium简介Selenium 是用于测试 Web 应用程序用户界面 (UI) 的常用框架。它是一款用于运行端到端功能测试的超强工具。您可以使用多个编程语言编...

weixin_39938269的博客 166

Python爬虫之selenium

Python爬虫之selenium一:Selenium介绍二:selenium常用操作2.1 关闭页面2.2:定位元素2.3:操作表单元素2.4 行为链2.5 Cookie操作2.6 页面等待2.7 切换页面2.8 设置代理ip2.9 WebElement元素2.10 无界面浏览器 一:Selenium介绍 Selenium相当于是一个机器人。可以模拟人类在浏览器上的一些行为,自动处理浏览器上的一些行为,比如点击,填充数据,删除cookie等。chromedriver是一个驱动Chrome浏览器的驱动程序,

860

Python安装Selenium

方法一用cmd安装selenium 在cmd中输入pip3 install selenium 注意:这里输入pip或者pip3根据个人 1、pip是python的包管理工具,pip和pip3版本不同,都位于Scripts\目录下: 2、如果系统中只安装了Python2,那么就只能使用pip。 3、如果系统中只安装了Python3,那么既可以使用pip也可以使用pip3,二者是等价的。 4、如果系统中同时安装了Python2和Python3,则pip默认给Python2用,pip3指定给Python3用。 5

weixin_51996298的博客 6658

python selenium怎么安装_Python+Selenium的安装

Selenium[1]也是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7、8、9)、Mozilla Firefox、Mozilla Suite等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建衰退测试检验软件功能和用户需求。支持自动录制...

weixin_33670167的博客 202

Python之selenium爬取

selenium爬取

2401_86155536的博客 1055

Python+Pycharm安装Selenium以及Selenium IDE的安装

点击环境变量然后在path中新建一个path,将C:\Program Files\Google\Chrome\Application复制进去即可。Selenium IDE 是一个用于 Web 测试的集成开发环境。将chromedriver.exe文件分别放到谷歌浏览器的文件路径和python的文件路径下。找到对应的版本号chromedriver,最前面的【113】就是我们的版本号。下载之前我们需要知道自己的Chrome浏览器是什么版本。下载完成后是一个crx的文件。导入之前下载的py文件,运行。

weixin_43977759的博客 2917

Python selenium 库

不同的浏览器需要不同的 WebDriver,例如 Chrome 浏览器需要 ChromeDriver,你需要根据你使用的浏览器下载相应的 WebDriver,并确保它在你的系统 PATH 中。要开始使用 Selenium,首先需要安装 selenium 库,并下载适用于你浏览器的 WebDriver。当国内的网络环境,自动检测下载驱动需要不一样的网络环境,所以建议手动下载驱动,然后指定驱动路径。下面是一个简单的 Selenium 项目示例,用于自动化搜索关键词,并获取结果页面的标题。

qq_25502783的博客 873

python调用selenium_如何在python中使用selenium

最近基于selenium写了一个python小工具,记录下学习记录,自己运行的环境是Ubuntu 14.04.4, Python 2.7,Chromium 49.0,ChromeDriver 2.16selenium简介selenium提供了一个通用的接口,可模拟用户来操作浏览器,比如用于自动化测试等.selenium的核心是WebDriver,它提供了一组接口,这些接口能够操作各种跨平台的浏览器...

weixin_28707535的博客 548
上一篇: 用sublime text 2 build python 遇到中文的问题
下一篇: python 算md5
intel80586
博客等级 码龄18年 78粉丝 39原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值