html 打开页面光标自动选中输入框_初识selenium之web自动化

今天我们学习下如何使用python编写web自动化,谈到web自动化,那么我们需要了解下市面上做web自动化的几种方式,Robotframework工具,网红WebUI自动化测试神器 - Cypress,以及我们今天所要学习的selenium,为什么使用selenium?上手快,开源免费,市面上使用率较高。

selenium的工作原理就是使用代码,驱动浏览器的驱动器,对浏览器的页面进行定位以及操作。首先我们先配置下使用前的环境:

1,python环境(之前课程有提到,可翻阅之前文章)

2, 下载浏览器驱动:https://npm.taobao.org/mirrors/chromedriver?spm=a2c6h.14029880.0.0.735975d7ddL0Xs(可在百度直接搜索:NPM镜像下载),下载完成之后放在所需python安装主目录下。

3, 安装selenium:打开电脑cmd终端,直接输入命令(pip install selenium)

        注意:1,浏览器驱动要根据自身浏览器版本适配下载

                  2,驱动下载完成后,放在python安装主目录下面

                  3,浏览器目前市面上主要以谷歌浏览器与火狐浏览器,下载驱动时,注意不同的浏览器的驱动不同

配置完成后,我们可以在cmd电脑终端查看,安装是否正确,接下来我们以谷歌浏览器为例:

b82e30b4f73edd9606d298a3b8eac3a8.png

以上示例,我们先进入python环境下,导入selenium中的webdriver驱动,然后定义一个变量driver = webdriver.Chrome(),这个时候我们运行代码,如果发现浏览器被我们打开了,那么说明我们的环境已经配置完成,如果发现配置存在问题的同学可以参照如下示例:https://www.cnblogs.com/htybky/p/11747367.html

当以上环境配置完成后,我们可以先参照一个实例:

from selenium import webdriver      #导入驱动from time import sleep             #导入一个等待时间的包driver = webdriver.Chrome()       #打开浏览器driver.get('https://www.baidu.com/')sleep(5)                #等待5秒

以上代码运行结果我们可以看到,打开了谷歌浏览器,然后进入了百度页面。

selenium的原理是通过驱动对浏览器的页面进行操作,首先我们需要定位到也免得元素才能对页面元素进行,点击,输入等操作,那么我们先来了解下如何定位页面元素,这里涉及到前端html的简单知识。首先我们在浏览器中打开开发者工具F12,这里我们关注elements栏目,右边部分则对应这整个页面的html元素信息。

b24fb15c3bd79546f41a5505b27516b9.png

我们可以通过开发者工具的左上角的箭头,进行元素的查看。

0aec79b4217f3c645ec5891bca19c808.png

如上我们根据上述步骤,查看百度输入框这一元素的html信息,开发者工具组则展示了类型为iuput,id的值为kw,name的值为wd,对于html只需进行一个最简单的了解即可。

那么接下来我们需要知道定位元素的8种方法:

1,Id     

2,Name

3,Classname

4,Tagname

5,linkText

6,partialLinkText

7,Xpath

8,cssSelector

以上八种元素均可进行元素的定位,具体使用需根据实际html页面情况,目前用的比较多的是xpath方法。

接下来我们针对百度这个页面一一进行演示:

id,name定位方式:

from selenium import webdriver      #导入驱动driver = webdriver.Chrome()       #打开浏览器driver.get('https://www.baidu.com/')driver.find_element_by_name('wd').send_keys('零基础Python自动化')    #输入内容driver.find_element_by_id('su').click()   #点击搜索

首先我们可以看到定位元素使用的是find_element_by_的方法,然后采用id,name的方法定位到元素,send_keys()是针对输入框进行的输入操作,括号内的值只能是string类型,click()则是点击的操作,我们在百度输入框中输入'零基础Python自动化',然后点击搜索。

Classname定位:

仔细查看你会发现存在一个class='s_ipt',以下实例:

driver.find_element_by_class_name('s_ipt').send_keys('零基础Python自动化')    #输入内容

tagName定位:

如果某个页面的元素此标签类型只有一个,那么我们也可以使用tagName进行定位:

driver.find_element_by_tag_name('input')    

linkText定位:

linktext是指超链接文本定位,是某个文本具有超链接性质,可以通过此定位

"http://mp.weixin.qq.com/mp/homepage?__biz=MzI2MjY3OTU1Nw==&hid=2" class="gray" target="_blank">零基础Python自动化</a>

以上展示html元素,则linktext定位如下:

driver.find_element_by_link_text('零基础Python自动化')

partialLinkText定位:

模糊超链接文本定位,我们以上个超连接的html示例进行定位

driver.find_element_by_partial_link_text('零基础Python')

xpath定位:

接下来我们可以重点了解一下xpath定位元素,目前公司里的项目几乎都可以使用xpath进行定位,xpath可以使用绝对路径,也可以使用相对路径。

31c003462827d875430fd0e06ca0caad.png

以上我们看到的就是选择xpath的定位方式,然后进行下面代码的编辑!

driver.find_element_by_xpath('//*[@id="kw"]').send_keys('零基础Python自动化')    #输入内容

css定位:

如上图我们既可以copy_xpath,也可以copy_selector

driver.find_element_by_css_selector('#kw')

以上的知识学会,我们就可以做一个简单的selenium自动化了。那么今天的学习先到这里,希望大家可以多看多练!

                关注下方,学习更多知识!

09c7e715cd7ad4d53ae597dc28d5640c.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值