Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
.www.
wechaty
提交
e5a92807
W
wechaty
项目概览
.www.
/
wechaty
与 Fork 源项目一致
Fork自
wechaty / wechaty
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
W
wechaty
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
e5a92807
编写于
10月 11, 2016
作者:
Huan (李卓桓)
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
#40 enhance browser types
上级
a85e3e8e
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
15 addition
and
11 deletion
+15
-11
src/puppet-web/browser.ts
src/puppet-web/browser.ts
+15
-11
未找到文件。
src/puppet-web/browser.ts
浏览文件 @
e5a92807
...
...
@@ -114,7 +114,7 @@ class Browser extends EventEmitter {
}
}
public
open
(
url
:
string
=
'
https://wx.qq.com
'
):
Promise
<
any
>
{
public
open
(
url
:
string
=
'
https://wx.qq.com
'
):
Promise
<
string
>
{
log
.
verbose
(
'
PuppetWebBrowser
'
,
`open(
${
url
}
)`
)
// TODO: set a timer to guard driver.get timeout, then retry 3 times 201607
...
...
@@ -122,7 +122,7 @@ class Browser extends EventEmitter {
// wrap another Promise is because selenium use another Promise library,
// which is incompatible with node typescript types
this
.
driver
.
get
(
url
)
.
then
(
_
=>
resolve
())
.
then
(
_
=>
resolve
(
url
))
.
catch
(
e
=>
{
log
.
error
(
'
PuppetWebBrowser
'
,
'
open() exception: %s
'
,
e
.
message
)
this
.
dead
(
e
.
message
)
...
...
@@ -131,7 +131,7 @@ class Browser extends EventEmitter {
})
}
private
initDriver
()
{
private
initDriver
()
:
Promise
<
WebDriver
>
{
log
.
verbose
(
'
PuppetWebBrowser
'
,
'
initDriver(head: %s)
'
,
this
.
head
)
switch
(
true
)
{
...
...
@@ -168,12 +168,16 @@ class Browser extends EventEmitter {
return
Promise
.
resolve
(
this
.
driver
)
}
public
refresh
()
{
public
refresh
()
:
Promise
<
any
>
{
log
.
verbose
(
'
PuppetWebBrowser
'
,
'
refresh()
'
)
return
this
.
driver
.
navigate
().
refresh
()
return
new
Promise
((
resolve
,
reject
)
=>
{
this
.
driver
.
navigate
().
refresh
()
.
then
(
_
=>
resolve
())
.
catch
(
e
=>
reject
(
e
))
})
}
private
getChromeDriver
()
{
private
getChromeDriver
()
:
WebDriver
{
log
.
verbose
(
'
PuppetWebBrowser
'
,
'
getChromeDriver()
'
)
const
options
=
{
...
...
@@ -194,7 +198,7 @@ class Browser extends EventEmitter {
.
build
()
}
private
getPhantomJsDriver
()
{
private
getPhantomJsDriver
()
:
WebDriver
{
// setup custom phantomJS capability https://github.com/SeleniumHQ/selenium/issues/2069
const
phantomjsExe
=
require
(
'
phantomjs-prebuilt
'
).
path
// const phantomjsExe = require('phantomjs2').path
...
...
@@ -327,7 +331,7 @@ class Browser extends EventEmitter {
return
}
public
clean
()
{
public
clean
()
:
Promise
<
any
>
{
const
max
=
30
const
backoff
=
100
...
...
@@ -426,8 +430,8 @@ class Browser extends EventEmitter {
log
.
silly
(
'
PuppetWebBrowser
'
,
'
addCookies(%s)
'
,
JSON
.
stringify
(
cookie
))
//
return new Promise((resolve, reject) => {
return
(
this
.
driver
.
manage
()
as
any
)
return
new
Promise
((
resolve
,
reject
)
=>
{
(
this
.
driver
.
manage
()
as
any
)
// this is old webdriver format
// .addCookie(cookie.name, cookie.value, cookie.path
// , cookie.domain, cookie.secure, cookie.expiry)
...
...
@@ -437,7 +441,7 @@ class Browser extends EventEmitter {
log
.
warn
(
'
PuppetWebBrowser
'
,
'
addCookies() exception: %s
'
,
e
.
message
)
throw
e
})
//
})
})
}
public
execute
(
script
,
...
args
):
Promise
<
any
>
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录