专业编程基础技术教程

网站首页 > 基础教程 正文

windows本地程序调用与selenium的简单应用

ccvgpt 2024-10-12 13:59:51 基础教程 9 ℃
=====功能:调用本地程序,自动打开指定浏览器并自动登录指定的网站=======
  ====如实现打开本地VPN后,自动登录内网======
from selenium import webdriver
from time import sleep
import os


if __name__=="__main__":
	
	driver=None

	#调用本地应用程序
	def createProcess():
		print('您要打开的程序的完整路径,例如:D:\Program Files\QQ\Bin\QQ.exe\n')
		str=input('请输入您要打开的程序的完整路径:')
		#print(type(str))
		if str=='quit':
			print("====已跳过当前程序====")
			return
		path=os.path.isfile(str)
		if path:
			os.popen(str)
			print('您需要打开的程序的完整路径是:%s'%str,'\t打开中,请稍等\n')
		else:
			print('您需要打开的程序的完整路径是:%s'%str,'路径不存在,请重新输入\n')
			print('跳出当前程序,请输入:quit')
			createProcess()#递归

	
	
	#打开浏览器,自动登录
	def autoOpenBrowserLogin():
		global driver#全局常量
		print("请等待,即将打开浏览器。。。")
		driver=webdriver.Chrome()#打开谷歌浏览器
		driver.get("http://xxx.yyyy.zzz/")#请求的地址
		sleep(5)
		
		#让登录框可见
		js = "document.getElementById('login_tenment_ul').style.display='block'" #编写JS语句
		driver.execute_script(js) #执行JS
		sel=driver.find_element_by_xpath('//*[@id="tab_box0"]/form/div[1]/a')
		#print("省份选择",sel.text)
		xz=sel.find_element_by_xpath('//*[@id="bg_city_xz"]')
		print("您选择的省份是:",xz.text)
		xz.click() #点击
		driver.find_element_by_xpath('//input[@id="user_id"]').send_keys('user1')

		js = "document.getElementById('userpass0').style.display='block'" #编写JS语句
		driver.execute_script(js) #执行JS
		sleep(1)
		#密码是双层input标签,需要先找到有value值的标签,点击下,然后清空无value值的input,最后再输入值
		driver.find_element_by_xpath('//input[@id="userpass0"]').click()
		pwd=driver.find_element_by_xpath('//input[@id="userpass"]')
		pwd.clear()
		pwd.send_keys('password123456')
		
		driver.find_element_by_xpath('//button[@tabindex="3"]').click()#点击登录
		sleep(1)
		print("登录中。。。")
			

	#自动关闭浏览器,需输入数字1
	def closeBrowser():
		sleep(5)
		msg=input("请确认是否关闭浏览器,确认关闭请输入数字1====》》》》》:\n\n")
		print("您输入的数字是:%s"%msg,"已确认关闭浏览器\n\n")
		if msg=='1':
			print("5秒后自动关闭浏览器。。。")
			sleep(5)
			print("浏览器已关闭")
			driver.quit()
	
	#调用
	createProcess()			
	autoOpenBrowserLogin()
	closeBrowser()



主要涉及selenium、os、time、JS。

windows本地程序调用与selenium的简单应用

本机的应用程序调用 os.popen();

Tags:

最近发表
标签列表