Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
泰斯特Test
violent-webdriver
提交
f99d389b
V
violent-webdriver
项目概览
泰斯特Test
/
violent-webdriver
通知
4
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
violent-webdriver
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
f99d389b
编写于
6月 28, 2018
作者:
泰斯特Test
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix bug
上级
e0619459
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
66 addition
and
10 deletion
+66
-10
setup.py
setup.py
+1
-1
violent_webdriver/Chrome.py
violent_webdriver/Chrome.py
+65
-9
未找到文件。
setup.py
浏览文件 @
f99d389b
...
...
@@ -5,7 +5,7 @@ with open("README.md", "r") as fh:
setuptools
.
setup
(
name
=
"violent-webdriver"
,
version
=
"1.0.1
1
"
,
version
=
"1.0.1
2
"
,
author
=
"Yuyi Shao"
,
author_email
=
"523314409@qq.com"
,
description
=
"violent webdriver based on selenium"
,
...
...
violent_webdriver/Chrome.py
浏览文件 @
f99d389b
from
selenium
import
webdriver
from
selenium.common.exceptions
import
WebDriverException
from
selenium.common.exceptions
import
WebDriverException
,
InvalidElementStateException
from
selenium.webdriver.common.touch_actions
import
TouchActions
import
time
import
warnings
...
...
@@ -260,6 +260,13 @@ class violent_chromedriver(webdriver.Chrome):
for
key
,
value
in
locate_rule
.
items
():
if
key
==
'id'
:
for
i
in
range
(
0
,
attempt_num
):
try
:
self
.
find_element_by_id
(
value
).
clear
()
if
not
self
.
find_element_by_id
(
value
).
get_attribute
(
'value'
).
strip
()
==
''
:
time
.
sleep
(
attempt_interval
)
continue
except
WebDriverException
:
pass
try
:
self
.
find_element_by_id
(
value
).
send_keys
(
message
)
break
...
...
@@ -268,6 +275,13 @@ class violent_chromedriver(webdriver.Chrome):
continue
if
key
==
'xpath'
:
for
i
in
range
(
0
,
attempt_num
):
try
:
self
.
find_element_by_xpath
(
value
).
clear
()
if
not
self
.
find_element_by_xpath
(
value
).
get_attribute
(
'value'
).
strip
()
==
''
:
time
.
sleep
(
attempt_interval
)
continue
except
WebDriverException
:
pass
try
:
self
.
find_element_by_xpath
(
value
).
send_keys
(
message
)
break
...
...
@@ -276,6 +290,13 @@ class violent_chromedriver(webdriver.Chrome):
continue
if
key
==
'name'
:
for
i
in
range
(
0
,
attempt_num
):
try
:
self
.
find_element_by_name
(
value
).
clear
()
if
not
self
.
find_element_by_name
(
value
).
get_attribute
(
'value'
).
strip
()
==
''
:
time
.
sleep
(
attempt_interval
)
continue
except
WebDriverException
:
pass
try
:
self
.
find_element_by_name
(
value
).
send_keys
(
message
)
break
...
...
@@ -284,6 +305,13 @@ class violent_chromedriver(webdriver.Chrome):
continue
if
'class'
in
key
:
for
i
in
range
(
0
,
attempt_num
):
try
:
self
.
find_element_by_class_name
(
value
).
clear
()
if
not
self
.
find_element_by_class_name
(
value
).
get_attribute
(
'value'
).
strip
()
==
''
:
time
.
sleep
(
attempt_interval
)
continue
except
WebDriverException
:
pass
try
:
self
.
find_element_by_class_name
(
value
).
send_keys
(
message
)
break
...
...
@@ -301,6 +329,13 @@ class violent_chromedriver(webdriver.Chrome):
i
=
0
for
tag
in
tag_list
:
if
tag
.
text
==
locate_rule
[
key_list
[
1
]]:
try
:
tag
.
clear
()
except
WebDriverException
:
pass
if
not
tag
.
get_attribute
(
'value'
).
strip
()
==
''
:
time
.
sleep
(
attempt_interval
)
break
tag
.
send_keys
(
message
)
i
+=
1
break
...
...
@@ -317,6 +352,13 @@ class violent_chromedriver(webdriver.Chrome):
i
=
0
for
tag
in
tag_list
:
if
tag
.
get_attribute
(
key_list
[
1
])
==
locate_rule
[
key_list
[
1
]]:
try
:
tag
.
clear
()
except
WebDriverException
:
pass
if
not
tag
.
get_attribute
(
'value'
).
strip
()
==
''
:
time
.
sleep
(
attempt_interval
)
break
tag
.
send_keys
(
message
)
i
+=
1
break
...
...
@@ -329,11 +371,18 @@ class violent_chromedriver(webdriver.Chrome):
if
key_list
[
0
]
==
'class'
and
key_list
[
1
]
==
'text'
:
for
i
in
range
(
0
,
attempt_num
):
try
:
tag
_list
=
self
.
find_elements_by_class_name
(
locate_rule
[
key_list
[
0
]])
div
_list
=
self
.
find_elements_by_class_name
(
locate_rule
[
key_list
[
0
]])
i
=
0
for
tag
in
tag_list
:
if
tag
.
text
==
locate_rule
[
key_list
[
1
]]:
tag
.
send_keys
(
message
)
for
div
in
div_list
:
if
div
.
text
==
locate_rule
[
key_list
[
1
]]:
try
:
div
.
clear
()
except
WebDriverException
:
pass
if
not
div
.
get_attribute
(
'value'
).
strip
()
==
''
:
time
.
sleep
(
attempt_interval
)
break
div
.
send_keys
(
message
)
i
+=
1
break
if
i
==
0
:
...
...
@@ -345,11 +394,18 @@ class violent_chromedriver(webdriver.Chrome):
if
key_list
[
0
]
==
'class'
and
not
key_list
[
1
]
==
'text'
:
for
i
in
range
(
0
,
attempt_num
):
try
:
tag
_list
=
self
.
find_elements_by_class_name
(
locate_rule
[
key_list
[
0
]])
div
_list
=
self
.
find_elements_by_class_name
(
locate_rule
[
key_list
[
0
]])
i
=
0
for
tag
in
tag_list
:
if
tag
.
get_attribute
(
key_list
[
1
])
==
locate_rule
[
key_list
[
1
]]:
tag
.
send_keys
(
message
)
for
div
in
div_list
:
if
div
.
get_attribute
(
key_list
[
1
])
==
locate_rule
[
key_list
[
1
]]:
try
:
div
.
clear
()
except
WebDriverException
:
pass
if
not
div
.
get_attribute
(
'value'
).
strip
()
==
''
:
time
.
sleep
(
attempt_interval
)
break
div
.
send_keys
(
message
)
i
+=
1
break
if
i
==
0
:
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录