Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
V
Vue-WebDriver
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
高源
Vue-WebDriver
Commits
79441973
Commit
79441973
authored
Nov 20, 2023
by
郁子恒
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
右击界面及功能
parent
c9a3e961
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
17 additions
and
95 deletions
+17
-95
App.vue
src/App.vue
+2
-2
elRightClick.vue
src/components/elRightClick.vue
+11
-89
elclick.vue
src/components/elclick.vue
+4
-4
No files found.
src/App.vue
View file @
79441973
...
@@ -124,8 +124,8 @@ export default {
...
@@ -124,8 +124,8 @@ export default {
value
:
'elRightClick'
,
value
:
'elRightClick'
,
label
:
'右击'
label
:
'右击'
},
{
},
{
value
:
'
select
'
,
value
:
'
elClick
'
,
label
:
'
选择
'
label
:
'
点击
'
},
{
},
{
value
:
'wait'
,
value
:
'wait'
,
label
:
'等待'
label
:
'等待'
...
...
src/components/elRightClick.vue
View file @
79441973
...
@@ -8,13 +8,10 @@
...
@@ -8,13 +8,10 @@
</div>
</div>
<el-form
label-position=
"right"
label-width=
"80px"
:model=
"actionConfig"
>
<el-form
label-position=
"right"
label-width=
"80px"
:model=
"actionConfig"
>
<el-form-item
label=
"查找方式"
>
<el-form-item
label=
"查找方式"
>
<el-select
id=
"eventType"
name=
"eventType"
v-model=
"actionConfig.Type"
:placeholder=
"selectDisabled ? '右击选择元素' : '请选择'"
@
change=
"handleChange"
filterable
remote
:disabled=
"selectDisabled"
>
<el-input
v-model=
"actionConfig.Target.Type"
:disabled=
"true"
></el-input>
<el-option
v-for=
"item in options"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"
标签名称
"
>
<el-form-item
label=
"
内容
"
>
<el-input
v-model=
"actionConfig.Target.
Selector
"
></el-input>
<el-input
v-model=
"actionConfig.Target.
Xpath
"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"查询时间"
>
<el-form-item
label=
"查询时间"
>
<el-input
v-model=
"actionConfig.Target.Timeout"
></el-input>
<el-input
v-model=
"actionConfig.Target.Timeout"
></el-input>
...
@@ -33,44 +30,18 @@ export default {
...
@@ -33,44 +30,18 @@ export default {
props
:
[
'actionName'
,
'actionType'
],
props
:
[
'actionName'
,
'actionType'
],
data
()
{
data
()
{
return
{
return
{
elementInfo
:
{},
elementInfo
s
:
{},
actionConfig
:
actionConfig
:
{
{
"Target"
:
{
//点击的目标元素配置信息
"Target"
:
{
//点击的目标元素配置信息
"Type"
:
""
,
//查找元素的方式,通过Id查找
"Type"
:
"
xpath
"
,
//查找元素的方式,通过Id查找
"
Selector"
:
""
,
//Id名称
"
Xpath"
:
""
,
"Timeout"
:
5000
//查询时间
"Timeout"
:
5000
//查询时间
},
},
"Name"
:
this
.
actionName
,
//动作名称
"Name"
:
this
.
actionName
,
//动作名称
"Alias"
:
this
.
actionType
//动作类型
"Alias"
:
this
.
actionType
//动作类型
},
},
options
:
[{
value
:
'Id'
,
label
:
'Id'
},
{
value
:
'Link'
,
label
:
'Link'
},
{
value
:
'Name'
,
label
:
'Name'
},
{
value
:
'Xpath'
,
label
:
'Xpath'
},
{
value
:
'Class'
,
label
:
'Class'
},
{
value
:
'PartialLink'
,
label
:
'PartialLink'
},
{
value
:
'Tag'
,
label
:
'Tag'
},
{
value
:
'Css'
,
label
:
'Css'
}],
selectDisabled
:
true
selectDisabled
:
true
}
}
},
},
created
()
{
},
created
()
{
},
...
@@ -96,17 +67,12 @@ export default {
...
@@ -96,17 +67,12 @@ export default {
contextMenuHandler
(
event
)
{
contextMenuHandler
(
event
)
{
event
.
preventDefault
();
// 阻止默认的右击菜单
event
.
preventDefault
();
// 阻止默认的右击菜单
let
element
=
event
.
target
;
let
element
=
event
.
target
;
// this.getElementXPath(element)
let
elementInfo
=
{
let
elementInfo
=
{
Id
:
element
.
id
||
'无'
,
Xpath
:
this
.
getElementXPath
(
element
)
Xpath
:
this
.
getElementXPath
(
element
),
}
Link
:
element
.
href
||
'无'
,
this
.
elementInfos
=
elementInfo
;
Name
:
element
.
name
||
'无'
,
this
.
actionConfig
.
Target
.
Xpath
=
elementInfo
.
Xpath
;
Class
:
element
.
className
||
'无'
,
PartialLink
:
element
.
textContent
.
trim
()
||
'无'
,
Tag
:
element
.
tagName
.
toLowerCase
(),
Css
:
this
.
getElementCssSelector
(
element
),
};
this
.
elementInfo
=
elementInfo
;
this
.
selectDisabled
=
false
;
this
.
selectDisabled
=
false
;
// 移除事件监听器
// 移除事件监听器
document
.
removeEventListener
(
'contextmenu'
,
this
.
contextMenuHandler
);
document
.
removeEventListener
(
'contextmenu'
,
this
.
contextMenuHandler
);
...
@@ -121,39 +87,6 @@ export default {
...
@@ -121,39 +87,6 @@ export default {
// 在取消按钮点击时移除事件监听器
// 在取消按钮点击时移除事件监听器
document
.
removeEventListener
(
'contextmenu'
,
this
.
contextMenuHandler
);
document
.
removeEventListener
(
'contextmenu'
,
this
.
contextMenuHandler
);
},
},
// // 获取页面元素
// selectElement() {
// let _this = this
// // 定义事件处理函数
// function contextMenuHandler(event) {
// event.preventDefault(); // 阻止默认的右击菜单
// let element = event.target;
// let elementInfo = {
// Id: element.id || '无',
// Xpath: _this.getElementXPath(element),
// Link: element.href || '无',
// Name: element.name || '无',
// Class: element.className || '无',
// PartialLink: element.textContent.trim() || '无',
// Tag: element.tagName.toLowerCase(),
// Css: _this.getElementCssSelector(element)
// };
// _this.elementInfo = elementInfo
// _this.selectDisabled = false
// // 移除事件监听器
// document.removeEventListener('contextmenu', contextMenuHandler);
// }
// // 添加事件监听器
// document.addEventListener('contextmenu', contextMenuHandler, false);
// },
// 改变选择框提示内容
handleChange
(
val
)
{
// this.actionType == val
let
_this
=
this
console
.
log
(
_this
.
elementInfo
)
console
.
log
(
_this
.
elementInfo
[
val
])
_this
.
actionConfig
.
Target
.
Selector
=
_this
.
elementInfo
[
val
]
},
// 获取xpath
// 获取xpath
getElementXPath
(
element
)
{
getElementXPath
(
element
)
{
let
_this
=
this
let
_this
=
this
...
@@ -171,17 +104,6 @@ export default {
...
@@ -171,17 +104,6 @@ export default {
}
}
}
}
},
},
// 获取元素css
getElementCssSelector
(
element
)
{
let
selector
=
element
.
tagName
.
toLowerCase
();
if
(
element
.
id
)
{
selector
+=
'#'
+
element
.
id
;
}
if
(
element
.
className
)
{
selector
+=
'.'
+
element
.
className
.
split
(
' '
).
join
(
'.'
);
}
return
selector
;
}
},
},
}
}
</
script
>
</
script
>
...
...
src/components/elclick.vue
View file @
79441973
...
@@ -36,12 +36,12 @@ export default {
...
@@ -36,12 +36,12 @@ export default {
elementInfo
:
{},
elementInfo
:
{},
actionConfig
:
{
actionConfig
:
{
"Target"
:
{
//点击的目标元素配置信息
"Target"
:
{
//点击的目标元素配置信息
"Type"
:
"
Id
"
,
//查找元素的方式,通过Id查找
"Type"
:
""
,
//查找元素的方式,通过Id查找
"Selector"
:
"
su
"
,
//Id名称
"Selector"
:
""
,
//Id名称
"Timeout"
:
5000
//查询时间
"Timeout"
:
5000
//查询时间
},
},
"Name"
:
"百度一下"
,
//动作名称
"Name"
:
this
.
actionName
,
//动作名称
"Alias"
:
"el.click"
//动作类型
"Alias"
:
this
.
actionType
//动作类型
},
},
selectDisabled
:
true
selectDisabled
:
true
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment