龙空技术网

selenium超全教程(1)——持续更新中

特斯汀软件测试 465

前言:

今天姐妹们对“selenium src”大致比较关切,看官们都想要了解一些“selenium src”的相关知识。那么小编也在网摘上网罗了一些关于“selenium src””的相关知识,希望你们能喜欢,兄弟们快快来学习一下吧!

安装chrome浏览器驱动

安装chrome浏览器驱动:一种是常见的手动安装,另一种则是利用第三方库自动安装。

前提:安装好了Chrome浏览器

[1]手动安装

先查看本地Chrome浏览器版本:(两种方式均可)

在浏览器的地址栏键入Chrome://version,即可查看浏览器版本号或者点击Chrome菜单,帮助→关于Google Chrome,查看浏览器版本号再选择对应版本号的驱动版本

下载地址:

最后进行环境变量配置,也就是将对应的ChromeDriver的可执行文件chromedriver.exe文件拖到Python的Scripts目录下。

注:当然也可以不这样做,但是在调用的时候指定chromedriver.exe绝对路径亦可。

[2]自动安装

自动安装需要用到第三方库webdriver_manager,先安装这个库,然后调用对应的方法即可。

from selenium import webdriverfrom selenium.webdriver.common.keys import Keysfrom webdriver_manager.chrome import ChromeDriverManagerbrowser = webdriver.Chrome(ChromeDriverManager().install())browser.get(';)search = browser.find_element_by_id('kw')search.send_keys('python')search.send_keys(Keys.ENTER)# 关闭浏览器browser.close()

在上述代码中,ChromeDriverManager().install()方法就是自动安装驱动的操作,它会自动获取当前浏览器的版本并去下载对应的驱动到本地。

如果本地已经有该浏览器渠道,则会提示其已存在。

安装edge浏览器驱动

安装edge浏览器驱动:一种是常见的手动安装,另一种则是利用第三方库自动安装。

前提:安装好了edge浏览器

[1]手动安装

先查看本地edge浏览器版本:(两种方式均可)

在浏览器的地址栏键入edge://version,即可查看浏览器版本号或者点击edge菜单,帮助和反馈→关于microsoft edge,查看浏览器版本号再选择对应版本号的驱动版本

下载地址:

最后进行环境变量配置,也就是将对应的EdgeDriver的可执行文件msedgedriver.exe文件拖到Python的Scripts目录下。

注:当然也可以不这样做,但是在调用的时候指定msedgedriver.exe绝对路径亦可。

[2]自动安装

自动安装需要用到第三方库webdriver_manager,先安装这个库,然后调用对应的方法即可。

from selenium import webdriverfrom selenium.webdriver.common.keys import Keysfrom webdriver_manager.microsoft import EdgeChromiumDriverManagerbrowser = webdriver.Edge(EdgeChromiumDriverManager().install())browser.get(';)search = browser.find_element_by_id('kw')search.send_keys('python')search.send_keys(Keys.ENTER)# 关闭浏览器browser.close()

在上述代码中,EdgeChromiumDriverManager().install()方法就是自动安装驱动的操作,它会自动获取当前浏览器的版本并去下载对应的驱动到本地。

如果本地已经有该浏览器渠道,则会提示其已存在。

初始化浏览器对象

在准备工作部分我们提到需要将浏览器渠道添加到环境变量或者指定绝对路径,前者可以直接初始化后者则需要进行指定。

from selenium import webdriver# 初始化浏览器为chrome浏览器browser = webdriver.Chrome()# 指定绝对路径的方式path = r'D:\programs\python\Python37\Scripts\chromedriver.exe'browser = webdriver.Chrome(path)# 关闭浏览器browser.close()

以上是有界面的浏览器,我们还可以初始化浏览器为无界面的浏览器。

from selenium import webdriver# 无界面的浏览器option = webdriver.ChromeOptions()option.add_argument("headless")browser = webdriver.Chrome(options=option)# 访问百度首页browser.get(r';)# 截图预览browser.get_screenshot_as_file('截图.png')# 关闭浏览器browser.close()

完成浏览器对象的初始化后并将其赋值给了browser对象,接下来我们就可以调用browser来执行各种方法模拟浏览器的操作了。

访问页面

进行页面访问使用的是get方法,传入参数为待访问页面的URL地址即可。

from selenium import webdriver# 初始化浏览器为chrome浏览器browser = webdriver.Chrome()# 访问百度首页browser.get(r';)# 关闭浏览器browser.close()
设置浏览器大小

set_window_size()方法可以用来设置浏览器大小(就是分辨率),而maximize_window则是设置浏览器为全屏!

from selenium import webdriverimport time  browser = webdriver.Chrome()# 设置浏览器大小:全屏browser.maximize_window()   browser.get(r';)  time.sleep(2)# 设置分辨率 500*500browser.set_window_size(500,500)  time.sleep(2)# 设置分辨率 1000*800browser.set_window_size(1000,800) time.sleep(2)# 关闭浏览器browser.close()
刷新页面

刷新页面是我们在浏览器操作时很常用的操作,这里refresh()方法可以用来进行浏览器页面刷新。

from selenium import webdriverimport time  browser = webdriver.Chrome()# 设置浏览器全屏browser.maximize_window()   browser.get(r';)  time.sleep(2)try:    # 刷新页面    browser.refresh()      print('刷新页面')except Exception as e:    print('刷新失败')   # 关闭浏览器browser.close()

大家也是自行演示看效果哈,同F5快捷键。

前进后退

前进后退也是我们在使用浏览器时非常常见的操作,这里forward()方法可以用来实现前进,back()可以用来实现后退。

from selenium import webdriverimport time  browser = webdriver.Chrome()# 设置浏览器全屏browser.maximize_window()   browser.get(r';)  time.sleep(2)# 打开淘宝页面browser.get(r';)  time.sleep(2)# 后退到百度页面browser.back()  time.sleep(2)# 前进的淘宝页面browser.forward() time.sleep(2)# 关闭浏览器browser.close()
获取页面基础属性

当我们用selenium打开某个页面,有一些基础属性如网页标题、网址、浏览器名称、页面源码等信息。

from selenium import webdriverbrowser = webdriver.Chrome()browser.get(r';) # 网页标题print(browser.title)# 当前网址print(browser.current_url)# 浏览器名称print(browser.name)# 网页源码print(browser.page_source)

输出如下:

百度一下,你就知道;html><head><script async="" src=";></script><meta http-equiv="Content-Type" content="text/html;charset=utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><meta content="always" name="referrer"><meta name="theme-color"..."

需要注意的是,这里的页面源码我们就可以用正则表达式、Bs4、xpath以及pyquery等工具进行解析提取想要的信息了。

定位页面元素之id定位

以百度首页的搜索框节点为例,搜索python

find_element_by_id()根据id属性获取,这里id属性是 kw

from selenium import webdriverimport time  browser = webdriver.Chrome()browser.get(r';)  time.sleep(2)# 在搜索框输入 pythonbrowser.find_element_by_id('kw').send_keys('python')time.sleep(2)# 关闭浏览器browser.close()
定位页面元素之name定位

以百度首页的搜索框节点为例,搜索python

find_element_by_name()根据name属性获取,这里name属性是 wd

from selenium import webdriverimport time  browser = webdriver.Chrome()browser.get(r';)  time.sleep(2)# 在搜索框输入 pythonbrowser.find_element_by_name('wd').send_keys('python')time.sleep(2)# 关闭浏览器browser.close()

下期继续分享元素class、tag、link、partial、xpath、css、find_element的By定位等,感兴趣的朋友可以关注。

希望本文对你有所帮助~~如果对软件测试、接口测试、自动化测试、面试经验交流感兴趣可以私聊我或关注公众号“特斯汀软件测试”。免费领取最新软件测试大厂面试资料和Python自动化、接口、框架搭建学习资料!技术大牛解惑答疑,同行一起交流。

标签: #selenium src