selenium交互代码

一:selenium交互

用selenium打开网页后,也可以做一系列真人的操作,也就是利用selenium和浏览器进行交互,可利用以下几个函数进行操作:

  1. input.send_keys() 传递输入内容给某输入框
  2. button.click() 点击某按钮
  3. browser.execute_script()执行某脚本例如滑动页面
  4. browser.back()回到上一页面
  5. browser.forward()前往下一页面
  6. browser.quit()退出

下面的示例代码可以实现自动打开百度搜索,输入梅西,滑动页面到最底部,点击下一页,回退到上一页面,前进到下一页面,关闭浏览器的一系列操作:

复制代码
from selenium import webdriver
browser = webdriver.Chrome()
url = 'https://www.baidu.com/'
browser.get(url)
import time
time.sleep(5)
#获取文本框的对象
input= browser.find_element('id','kw')
#在文本框输入周杰伦
input.send_keys('梅西')
time.sleep(5)
#获取百度一下按钮
button = browser.find_element('id','su')
button.click()
time.sleep(5)
#滑到底部
js_buttom ='document.documentElement.scrollTop=100000'
browser.execute_script(js_buttom)
time.sleep(5)
#获取下一页按钮
next = browser.find_element('xpath','//a[@class="n"]')
next.click()
time.sleep(5)
#回退到上一页
browser.back()
time.sleep(5)
#回去
browser.forward()
#退出
browser.quit()

二、Chrome handless

selenium为有界面式的交互方式运行的速度较慢,在selenium中还有两个可以让你不打开浏览器界面使用浏览器的方式,Phantomjs和headless。Phantomjs已经被弃用停止维护,所以这里只介绍headless。其配置方式很固定,一般将其封装为一个函数。虽然没有UI界面,但是可以通过browser.save_screenshot()来获取浏览器屏幕截图。下面的代码可以直接使用,只需要将path改为你自己电脑的浏览器安装位置就OK了。

第一处代码未进行封装第二处代码将函数进行了封装以后可以直接进行调用,其运行结果都是获取一张百度首页的图片。

代码1

复制代码
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
options.add_argument('headless')
options.add_argument('--disable-gpu')
path=r'C:\Program Files\Google\Chrome\Application\chrome.exe'
options.binary_location=path
browser = webdriver.Chrome(options=options)
url = 'https://www.baidu.com/'
browser.get(url)
browser.save_screenshot('baidu.png')

代码2

复制代码
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
def share_browser():
    options = Options()
    options.add_argument('headless')
    options.add_argument('--disable-gpu')
    path=r'C:\Program Files\Google\Chrome\Application\chrome.exe'
    options.binary_location=path
    browser = webdriver.Chrome(options=options)
    return browser
browser =share_browser()
url = 'https://www.baidu.com/'
browser.get(url)
browser.save_screenshot('baidu.png')

三、总结

Selenium是一款强大的Web自动化测试工具,可以模拟用户在浏览器上的操作以及与页面元素的交互。在本文中,我们介绍了如何进行页面数据及元素的交互,其中代码示例演示了如何使用Selenium搜索并点击百度的下一页,读者可以根据自己的需求进行修改。对于需要进行Web自动化测试的开发者来说,Selenium提供了一种方便的测试方式。通过使用Selenium,可以快速地检验页面的功能性以及稳定性,提高测试效率,保证网站的质量。

相关推荐
程序员三藏3 小时前
Web自动化测试详解
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
深蓝电商API7 小时前
Selenium 5.0 全新架构解析:值得升级吗?
爬虫·selenium
专业机床数据采集11 小时前
基于 Wireshark 抓包逆向设备通信协议,并用 C# UDP协议跨平台 实现宝元数控程序列表读取、上传、下载和删除
网络·测试工具·wireshark·程序传输·宝元数控·dnc·数控程序传输
程序员龙叔12 小时前
从 0 开始学习 AI 测试 - 从接口测试来教你如何用 AI 来生成自动化测试代码
自动化测试·软件测试·python·软件测试工程师·测试工具·性能测试·ai测试
Saniffer_SH12 小时前
【高清视频】Gen6 服务器还没到,Gen6 SSD 怎么测?Emily 现场演示三种测试环境
人工智能·驱动开发·测试工具·缓存·fpga开发·计算机外设·压力测试
川石课堂软件测试14 小时前
APP自动化测试|高级手势操作&toast操作
css·功能测试·测试工具·microsoft·fiddler·单元测试·harmonyos
LT101579744417 小时前
2026年开源自动化测试工具选型指南:功能与适用场景解析
测试工具·开源·自动化
大叔带刺1 天前
AutoSAR SomeIP配置开发速成_02测试工具开发
测试工具·someip
糖果店的幽灵1 天前
软件测试接口测试从入门到精通:其他接口测试工具
软件测试·测试工具·接口测试·apifox·insomnia
皮皮蟹虾饺2 天前
tcpdump指南:从基础抓包到 BPF 高级过滤与生产实战
测试工具·php·tcpdump