个人总结编写python selenium脚本常用代码

本文介绍使用Python结合Selenium进行Web自动化测试的方法。包括创建Selenium实例、常用交互操作如点击和输入、页面截图、刷新页面、多窗口切换及屏幕滚动等核心功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 创建实例调用web devices,打开地址

#!/usr/bin/env python
# -*- coding=utf-8 -*-
__author__ = 'man'

'''
	总结编写python selenium脚本常用代码
'''

from selenium import webdriver  
from selenium.webdriver.support.select import Select
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.common import exceptions
from selenium.webdriver import ActionChains
import os
import time

#chromedriver.exe  地址
chromedriver_EXE_path = "D:/py_test/Static_tool/chromedriver.exe"

class Man_test():
	def __init__(self):
		self.chromedriver = chromedriver_EXE_path
		os.environ["webdriver.chrome.driver"] = self.chromedriver
		self.browser = webdriver.Chrome(self.chromedriver)
		#self.wait = WebDriverWait(self.browser, 30)

	def open_web(self):
		self.browser = webdriver.Chrome(self.chromedriver)
		#self.wait = WebDriverWait(self.browser, 30)

	#打开网页
	def open_url(self,urls):
		self.browser.get(urls)
		time.sleep(1)
		self.browser.maximize_window()
		time.sleep(1)
		
	'''
			关闭浏览器

	'''
	def close_browser(self):
		self.browser.quit()

2 常用交互方法

    #点击的通用方法
	def click_public_1(self,xpathdata):
		self.browser.find_element_by_xpath(xpathdata).click()

	#输入的通用方法
	def input_public_1(self,xpathdata,inputdata):
		self.browser.find_element_by_xpath(xpathdata).send_keys(inputdata)

	#获取txt 通用方法1
	def get_txt_public_xpath(self,xpathdata):
		txt_result = self.browser.find_element_by_xpath(xpathdata).text
		#print(txt_result)
		return txt_result

	#获取txt 通用方法1
	def get_txt_public_id(self,iddata):
		txt_result = self.browser.find_element_by_id(iddata).text
		#print(txt_result)
		return txt_result

3 置顶截图交互

    '''
		置顶截图功能
		screenshot_top(save_path)
		@save_path  截图存储路径
	'''
	def screenshot_top(self,save_path):
		self.browser.execute_script("""
			(function () {
			 window.scroll(0, 0);
	        })();
			""")
		time.sleep(0.5)
		self.browser.get_screenshot_as_file(save_path)

4 刷新页面

    '''
		刷新页面
	'''
	def f5(self):
		self.browser.refresh() #刷新页面
		print('刷新页面')

5 多窗口切换

    '''
			切换窗口

	'''

	def switch_to_newvip(self):
		print(self.browser.window_handles)
		self.browser.switch_to.window(self.browser.window_handles[1])
		print(self.browser.window_handles)
		print("switch_to_newvip"+ str(self.browser.window_handles[1]))

	def switch_to_oldvip(self):
		#handles = browser.window_handles
		print(self.browser.window_handles)
		self.browser.switch_to.window(self.browser.window_handles[0])
		print("switch_to_oldvip"+ str(self.browser.window_handles[0]))

	def switch_pg(self):
		window_1 = self.browser.current_window_handle
		windows = self.browser.window_handles
		for current_window in windows:
		    if current_window != window_1:
		        self.browser.switch_to.window(current_window)

6 #屏幕上拉,下拉交互

    '''
			切换窗口

	'''

	#屏幕上拉
	def top_windos(self):
		time.sleep(0.5)
		self.browser.execute_script("""
		(function () {
		 window.scroll(0, 0);
        })();
		""")
		time.sleep(0.5)

	#屏幕下拉
	def next_windos(self,hpx):
		time.sleep(0.5)
		self.browser.execute_script("""
		(function () {
		 window.scroll(0, hpx);
        })();
		""")
		time.sleep(0.5)

@漫鸽 www.mangenotwork.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值