SMWHff's Blog | 梦痕编程

【插件】神梦填表插件 SmWeb.dll,【IE】【谷歌】【网页】【元素】

神梦填表插件COM版出来了!

支持 IE、谷歌浏览器

支持跨域夸框架穿透填表

【元素智能定位】

【上传文件】

【处理弹窗】

【滑动验证码】

【执行JS】


插件预览

1.jpg 2.jpg


演示例子

3.gif


插件例子

'【神梦填表插件 SmWeb.dll 演示按键例子】
'作者:神梦无痕
'QQ:1042207232
'Q群:624655641

'插件版本号
TracePrint "插件版本号:" & Plugin.SmWeb.Ver()


TracePrint("**********************【神梦填表插件 SmWeb.dll 演示按键例子】**********************")
//生成插件帮助文档
TracePrint(Plugin.SmWeb.About())

//初始化插件
Call Plugin.SmWeb.Init()


绑定句柄数组 = Array("IE.exe", "Chrome.exe")
For iw = 0 To UBound(绑定句柄数组)
	//绑定浏览器
	Tips("正在绑定浏览器:" & 绑定句柄数组(iw)) : TracePrint(运行状态)
	If Plugin.SmWeb.Bind(绑定句柄数组(iw)) = False Then 
		MsgBox "出错,绑定浏览器失败!"
		ExitScript 
	End If
	
	
	Tips("打开 SmWeb 测试页面") : TracePrint(运行状态)
	Call Plugin.SmWeb.TabGo("http://127.0.0.1:8008/SmWeb.html")
	Call Plugin.SmWeb.TabIsReady(30)  '判断网页是否加载完毕
	Delay(2000)
	
	
	'网页截图
	Tips("【网页截图】:截取区域 0, 0, 400, 200 范围图像保存到文件 C:\1.png") : TracePrint(运行状态)
	Call Plugin.SmWeb.TabSnapShot(0, 0, 400, 200, "C:\1.png")
	Delay(2000)
	
	
	'【预处理弹窗】:提前为弹出窗口做准备(点击确定按钮)
	Call Plugin.SmWeb.TabGo("#TabPreDialog"):Delay(1000)
	Tips("【预处理弹窗】:提前为弹出窗口做准备(三个连续弹窗,需要点击三个按钮:true=确定;false=取消)") : TracePrint(运行状态)
	Call Plugin.SmWeb.TabPreDialog("神梦无痕", "true|false|true")
	'点击按钮,弹出窗口
	Tips("点击【无返回弹窗】") : TracePrint(运行状态)
	Call Plugin.SmWeb.HtmlClick("#myPreDialog_alert")
	Tips("点击【有返回值弹窗】") : TracePrint(运行状态)
	Call Plugin.SmWeb.HtmlClick("//*[@id='myPreDialog_confirm']")
	Tips("点击【可输入内容弹窗】") : TracePrint(运行状态)
	Call Plugin.SmWeb.HtmlClick("id:myPreDialog_prompt")
	'获取弹窗内容
	Tips("【获取弹窗内容】:" & Plugin.SmWeb.TabGetDialog()) : TracePrint(运行状态)
	Delay (2000)
	
	
	'元素点击
	Call Plugin.SmWeb.TabGo("#HtmlClick"):Delay(1000)
	Tips("【点击元素】:" & Plugin.SmWeb.HtmlClick("id:myClick")) : TracePrint(运行状态)
	Delay(1000)
	
	
	'输入文本内容
	Call Plugin.SmWeb.TabGo("#HtmlInput"):Delay(1000)
	Tips("【输入框】:神梦无痕") : TracePrint(运行状态)
	Call Plugin.SmWeb.HtmlInput("神梦无痕", "#myInput")
	Delay(1000)
	
	
	'勾选单/复选框
	Call Plugin.SmWeb.TabGo("#HtmlCheck"):Delay(1000)
	Tips("【单选框】:勾选") : TracePrint(运行状态)
	Call Plugin.SmWeb.HtmlCheck(True, "[id='myRadio']")
	Tips("【复选框】:勾选") : TracePrint(运行状态)
	Call Plugin.SmWeb.HtmlCheck(True, "//*[@id='myCheck']")
	Delay(1000)
	
	
	'设置下拉框
	Call Plugin.SmWeb.TabGo("#HtmlSelect"):Delay(1000)
	Tips("【下拉框】:香蕉") : TracePrint(运行状态)
	Call Plugin.SmWeb.HtmlSelect("香蕉", "id:mySelect")
	Delay(1000)
	
	
	'设置元素信息
	Call Plugin.SmWeb.TabGo("#HtmlSet"):Delay(1000)
	Tips("【设置信息】:value") : TracePrint(运行状态)
	Call Plugin.SmWeb.HtmlSet("value", "【作者】:神梦无痕", "id:mySet")
	Delay(1000)
	Tips("【设置信息】:name") : TracePrint(运行状态)
	Call Plugin.SmWeb.HtmlSet("name", "QQ_1042207232", "id:mySet")
	Delay(1000)
	
	
	'获取元素信息
	Tips("【获取信息】:value") : TracePrint(运行状态)
	Tips ("      :" & Plugin.SmWeb.HtmlGet("value", "id:mySet")) : TracePrint (运行状态)
	Delay(1000)
	Tips("【获取信息】:outerHTML") : TracePrint(运行状态)
	Tips("      :" & Plugin.SmWeb.HtmlGet("outerHTML", "id:mySet")) : TracePrint(运行状态)
	Delay(1000)
	
	
	'滚动到指定元素
	Call Plugin.SmWeb.TabGo("#HtmlScroll"):Delay(2000)
	Tips("【滚动定位】:" & Plugin.SmWeb.HtmlScroll("name:HtmlHover")) : TracePrint(运行状态)
	Delay(2000)
	
	
	'鼠标在元素上悬停
	Tips("【元素悬停】:" & Plugin.SmWeb.HtmlHover("#myHover")) : TracePrint(运行状态)
	Delay(1000)
	
	
	'滑动验证码
	Call Plugin.SmWeb.TabGo("#HtmlSwipe"):Delay(1000)
	Tips("【滑动验证】:" & Plugin.SmWeb.HtmlSwipe(128, 420, 400, 420, "#Swipe_btn")) : TracePrint(运行状态)
	Delay(1000)
	
	
	
	'执行元素事件
	Call Plugin.SmWeb.TabGo("#HtmlEvent"):Delay(1000)
	Tips("【执行事件】:鼠标左键按下") : TracePrint(运行状态)
	Call Plugin.SmWeb.HtmlEvent("mousedown", "#myEvent")
	Tips("【执行事件】:输入框改变") : TracePrint(运行状态)
	Call Plugin.SmWeb.HtmlEvent("change", "#myEvent")
	Delay(1000)
	
	
	'上传图片文件
	Call Plugin.SmWeb.TabGo("#HtmlInputFile") : Delay(1000)
	Tips("【图片路径】:C:\1.png") : TracePrint(运行状态)
	Call Plugin.SmWeb.HtmlInputFile("C:\1.png", "id:myInputFile")
	Delay(1000)
	
	
	'添加/还原元素边框
	Call Plugin.SmWeb.TabGo("#HtmlBorder") : Delay(1000)
	Tips("【添加边框】:" & Plugin.SmWeb.HtmlBorder(True, "//*[@id='myBorder']")) : TracePrint(运行状态)
	Delay(1000)
	Tips("【还原边框】:" & Plugin.SmWeb.HtmlBorder(False, "//*[@id='myBorder']")) : TracePrint(运行状态)
	Delay(1000)
	
	
	'启用/禁用元素
	Call Plugin.SmWeb.TabGo("#HtmlEnabled") : Delay(1000)
	Tips("【禁用元素】:" & Plugin.SmWeb.HtmlEnabled(False, "#myEnabled")) : TracePrint(运行状态)
	Delay(1000)
	Tips("【启用元素】:" & Plugin.SmWeb.HtmlEnabled(True, "#myEnabled")) : TracePrint(运行状态)
	Delay(1000)
	
	
	'显示/隐藏元素
	Call Plugin.SmWeb.TabGo("#HtmlVisible") : Delay(1000)
	Tips("【隐藏元素】:" & Plugin.SmWeb.HtmlVisible(False, "id:myVisible")) : TracePrint(运行状态)
	Delay(1000)
	Tips("【显示元素】:" & Plugin.SmWeb.HtmlVisible(True, "id:myVisible")) : TracePrint(运行状态)
	Delay(1000)
	
	
	'判断元素是否启用
	Call Plugin.SmWeb.TabGo("#HtmlIsEnabled") : Delay(1000)
	Tips("【是否启用】:" & Plugin.SmWeb.HtmlIsEnabled("[id='myIsEnabled']")) : TracePrint(运行状态)
	Delay(1000)
	
	
	'判断元素是否显示
	Call Plugin.SmWeb.TabGo("#HtmlIsVisible") : Delay(1000)
	Tips("【是否显示】:" & Plugin.SmWeb.HtmlIsVisible("[id='myIsVisible']")) : TracePrint(运行状态)
	Delay(1000)
	
	
	'保存验证码图片
	Call Plugin.SmWeb.TabGo("#HtmlImage") : Delay (1000)
	Tips ("【保存验证码】:C:\yzm.jpg") : TracePrint (运行状态)
	Call Plugin.SmWeb.HtmlImage("C:\yzm.jpg", "id:myImage")
	Delay (1000)
	
	
	'获取元素坐标
	Call Plugin.SmWeb.TabGo("#HtmlOffset") : Delay (1000)
	Tips ("【元素坐标】:" & Plugin.SmWeb.HtmlOffset("id:myOffset")) : TracePrint (运行状态)
	Delay (1000)
	
	
	'获取 CSS 选择器
	Call Plugin.SmWeb.TabGo("#HtmlReadCSS") : Delay(1000)
	Tips("【CSS 选择器】:" & Plugin.SmWeb.HtmlReadCSS("body > table:nth-child(71) > tbody > tr:nth-child(6) > td > input")) : TracePrint(运行状态)
	Delay(1000)
	
	
	'获取 XPath 选择器
	Call Plugin.SmWeb.TabGo("#HtmlReadXPath") : Delay(1000)
	Tips("【XPath选择器】:" & Plugin.SmWeb.HtmlReadXPath("/html/body/table[72]/tbody/tr[6]/td/input")) : TracePrint(运行状态)
	Delay(1000)
	
	
	'获取 WQM 选择器
	Call Plugin.SmWeb.TabGo("#HtmlReadWQM") : Delay(1000)
	Tips("【WQM 选择器】:" & Plugin.SmWeb.HtmlReadWQM("tag:INPUT&index:29")) : TracePrint(运行状态)
	Delay(1000)
	
	
	'设置表格内容
	Call Plugin.SmWeb.TabGo("#myTable") : Delay(1000)
	Tips("【设置1行一列】:神梦无痕") : TracePrint(运行状态)
	Call Plugin.SmWeb.HtmlTable(0, 1, 1, "神梦无痕", "#myTable")
	Delay(1000)
	Tips("【设置2行一列】:小雪") : TracePrint(运行状态)
	Call Plugin.SmWeb.HtmlTable(0, 2, 1, "小雪", "//*[@id='myTable']")
	Delay(1000)
	Tips("【设置3行二列】:女") : TracePrint(运行状态)
	Call Plugin.SmWeb.HtmlTable(0, 3, 2, "女", "id:myTable")
	Delay(1000)
	
	
	'获取表格内容
	Call Plugin.SmWeb.TabGo("#myTable") : Delay(1000)
	Tips ("【获取1行一列】:" & Plugin.SmWeb.HtmlGetTable(0, 1, 1, "#myTable")) : TracePrint (运行状态)
	Delay(1000)
	Tips ("【获取2行一列】:" & Plugin.SmWeb.HtmlGetTable(0, 2, 1, "//*[@id='myTable']")) : TracePrint (运行状态)
	Delay(1000)
	Tips("【获取3行二列】:" & Plugin.SmWeb.HtmlGetTable(0, 3, 2, "id:myTable")) : TracePrint(运行状态)
	Delay(1000)
	
	
	'获取列表内容
	Call Plugin.SmWeb.TabGo("#HtmlGetList") : Delay(1000)
	Tips ("【获取索引 0 内容】:" & Plugin.SmWeb.HtmlGetList(0, "#myGetList")) : TracePrint (运行状态)
	Delay(1000)
	Tips ("【获取索引 1 内容】:" & Plugin.SmWeb.HtmlGetList(1, "//*[@id='myGetList']")) : TracePrint (运行状态)
	Delay(1000)
	Tips("【获取索引 2 内容】:" & Plugin.SmWeb.HtmlGetList(2, "id:myGetList")) : TracePrint(运行状态)
	Delay (1000)
	
	
	'退出浏览器
	Call Plugin.SmWeb.TabGo("#Quit") : Delay(1000)
	Tips("正在退出浏览器!") : TracePrint(运行状态)
	Call Plugin.SmWeb.Quit()
	Delay (1000)
Next 
MsgBox "脚本执行完毕!"

Sub Tips(提示)
	运行状态 = 提示
	Call Plugin.Msg.Tips(提示)
End Sub

插件下载

【插件】神梦填表插件 SmWeb.dll


#Chrome #IE #SmWeb.dll #神梦填表 #神梦插件 #网页填表 #谷歌