@@ -88,6 +88,7 @@ func tasks(data string) chromedp.Tasks {
88
88
return nil
89
89
}),
90
90
chromedp .WaitVisible ("#aqc-search-input" ),
91
+ // 判断是否登录
91
92
chromedp .ActionFunc (func (ctx context.Context ) (err error ) {
92
93
defer func () {
93
94
if err != nil {
@@ -107,38 +108,33 @@ func tasks(data string) chromedp.Tasks {
107
108
}
108
109
return nil
109
110
}),
111
+ // 输入公司名,点击查询
110
112
chromedp .ActionFunc (func (ctx context.Context ) (err error ) {
111
113
defer func () {
112
114
if err != nil {
113
115
_ = target .CloseTarget (chromedp .FromContext (ctx ).Target .TargetID ).Do (cdp .WithExecutor (ctx , chromedp .FromContext (ctx ).Browser ))
114
116
}
115
117
}()
116
- result , exception , err := runtime .Evaluate (`document.querySelector('body > div.base.page-index.has-search-tab > header > div > div.header-func > div.header-login > div > a').innerText` ).Do (ctx )
117
- if err != nil {
118
- return err
119
- }
120
- if exception != nil {
121
- err = exception
122
- return
123
- }
124
- if ! result .Value .IsDefined () {
125
- return errors .New ("user is undefined ?" )
126
- }
127
- return nil
118
+ return chromedp .SendKeys ("#aqc-search-input" , data ).Do (ctx )
128
119
}),
129
- chromedp .ActionFunc (func (ctx context.Context ) (err error ) {
130
- defer func () {
131
- if err != nil {
132
- _ = target .CloseTarget (chromedp .FromContext (ctx ).Target .TargetID ).Do (cdp .WithExecutor (ctx , chromedp .FromContext (ctx ).Browser ))
133
- }
120
+ chromedp .ActionFunc (func (ctx context.Context ) error {
121
+ return chromedp .Evaluate (`document.querySelector('body > div.base.page-index.has-search-tab > div.search-panel > div > div.index-search > div.index-search-input > button').click()` , nil ).Do (ctx )
122
+ }),
123
+ // 等待查询结果
124
+ chromedp .ActionFunc (func (ctx context.Context ) error {
125
+ fin := make (chan bool )
126
+ go func () {
127
+ _ = chromedp .WaitVisible ("body > div.base.page-search.has-search-tab > div.aqc-content-wrapper.has-footer > div > div.main > div.list-wrap > div.header > span" ).Do (ctx )
128
+ fin <- true
134
129
}()
135
- err = chromedp .SendKeys ("#aqc-search-input" , data ).Do (ctx )
136
- if err != nil {
137
- return err
130
+ select {
131
+ case <- time .After (10 * time .Second ):
132
+ return errors .New ("wait body > div.base.page-search.has-search-tab > div.aqc-content-wrapper.has-footer > div > div.main > div.list-wrap > div.header > span error" )
133
+ case <- fin :
134
+ break
138
135
}
139
- return chromedp . Click ( "body > div.base.page-index.has-search-tab > div.search-panel > div > div.index-search > div.index-search-input > button" ). Do ( ctx )
136
+ return nil
140
137
}),
141
- chromedp .WaitVisible ("body > div.base.page-search.has-search-tab > div.aqc-content-wrapper.has-footer > div > div.main > div.list-wrap > div.header > span" ),
142
138
chromedp .Sleep (1 * time .Second ),
143
139
chromedp .ActionFunc (func (ctx context.Context ) error {
144
140
// 判断是否为 0 家
@@ -173,14 +169,52 @@ for (var i = 0; i < companys.length; i++) {
173
169
return err
174
170
}
175
171
if exception != nil {
176
- err = exception
177
- return
172
+ return exception
178
173
}
179
174
return
180
175
}),
181
- chromedp .WaitVisible ("body > div.base.page-detail.has-search-tab > div.aqc-content-wrapper.has-footer > div > div.detail-header-container > div.detail-header > div.header-top > div.header-content > div.business-info > div.registered-capital.ellipsis-line-1 > span" ),
182
- chromedp .WaitVisible ("#basic-stockchart > h3 > span" ),
183
- chromedp .WaitVisible ("#basic-doubtcontroller > h3 > span" ),
176
+ chromedp .ActionFunc (func (ctx context.Context ) error {
177
+ fin := make (chan bool )
178
+ go func () {
179
+ _ = chromedp .WaitVisible ("body > div.base.page-detail.has-search-tab > div.aqc-content-wrapper.has-footer > div > div.detail-header-container > div.detail-header > div.header-top > div.header-content > div.business-info > div.registered-capital.ellipsis-line-1 > span" ).Do (ctx )
180
+ fin <- true
181
+ }()
182
+ select {
183
+ case <- time .After (10 * time .Second ):
184
+ return errors .New ("wait body > div.base.page-detail.has-search-tab > div.aqc-content-wrapper.has-footer > div > div.detail-header-container > div.detail-header > div.header-top > div.header-content > div.business-info > div.registered-capital.ellipsis-line-1 > span error" )
185
+ case <- fin :
186
+ break
187
+ }
188
+ return nil
189
+ }),
190
+ chromedp .ActionFunc (func (ctx context.Context ) error {
191
+ fin := make (chan bool )
192
+ go func () {
193
+ _ = chromedp .WaitVisible ("#basic-stockchart > h3 > span" ).Do (ctx )
194
+ fin <- true
195
+ }()
196
+ select {
197
+ case <- time .After (10 * time .Second ):
198
+ return errors .New ("wait #basic-stockchart > h3 > span error" )
199
+ case <- fin :
200
+ break
201
+ }
202
+ return nil
203
+ }),
204
+ chromedp .ActionFunc (func (ctx context.Context ) error {
205
+ fin := make (chan bool )
206
+ go func () {
207
+ _ = chromedp .WaitVisible ("#basic-doubtcontroller > h3 > span" ).Do (ctx )
208
+ fin <- true
209
+ }()
210
+ select {
211
+ case <- time .After (10 * time .Second ):
212
+ return errors .New ("wait #basic-doubtcontroller > h3 > span error" )
213
+ case <- fin :
214
+ break
215
+ }
216
+ return nil
217
+ }),
184
218
chromedp .ActionFunc (func (ctx context.Context ) error {
185
219
_ , exception , err := runtime .Evaluate (`
186
220
const sleep = async (ms) => {
0 commit comments