|
|
@@ -1,14 +1,14 @@
|
|
|
-package xnet
|
|
|
+package cmd
|
|
|
|
|
|
import (
|
|
|
"fmt"
|
|
|
- "gcore/core"
|
|
|
+
|
|
|
"github.com/tebeka/selenium"
|
|
|
"github.com/tebeka/selenium/chrome"
|
|
|
"log"
|
|
|
)
|
|
|
|
|
|
-type ChromeDriverConf struct {
|
|
|
+type SeleniumDriverConf struct {
|
|
|
ChromeDriverPath string `ini:"chrome_driver_path"` //chromedriver.exe路径
|
|
|
ChromeDriverPort int `ini:"chrome_driver_port"` //chromedriver服务端口
|
|
|
ChromeDriverService *selenium.Service `json:"chrome_driver_service"`
|
|
|
@@ -19,7 +19,8 @@ type ChromeDriverConf struct {
|
|
|
// @description 开启服务
|
|
|
// @param
|
|
|
// @return
|
|
|
-func (m *ChromeDriverConf) ChromeDriverServiceStart() (err error) {
|
|
|
+
|
|
|
+func (m *SeleniumDriverConf) ChromeDriverServiceStart() (err error) {
|
|
|
opts := []selenium.ServiceOption{}
|
|
|
|
|
|
//selenium.SetDebug(true)
|
|
|
@@ -27,7 +28,7 @@ func (m *ChromeDriverConf) ChromeDriverServiceStart() (err error) {
|
|
|
m.ChromeDriverService, err = selenium.NewChromeDriverService(m.ChromeDriverPath, m.ChromeDriverPort, opts...)
|
|
|
if nil != err {
|
|
|
log.Printf("ChromeDriverServiceStart error:%v\n", err)
|
|
|
- core.LogWrite(fmt.Sprintf("ChromeDriverServiceStart error:%v\n", err))
|
|
|
+ XWarning(fmt.Sprintf("ChromeDriverServiceStart error:%v\n", err))
|
|
|
return
|
|
|
} else {
|
|
|
log.Println("ChromeDriverServiceStart success.")
|
|
|
@@ -40,12 +41,13 @@ func (m *ChromeDriverConf) ChromeDriverServiceStart() (err error) {
|
|
|
// @description 关闭服务
|
|
|
// @param
|
|
|
// @return
|
|
|
-func (m *ChromeDriverConf) ChromeDriverServiceStop() error {
|
|
|
+
|
|
|
+func (m *SeleniumDriverConf) ChromeDriverServiceStop() error {
|
|
|
//注意这里,server关闭之后,chrome窗口也会关闭
|
|
|
err := m.ChromeDriverService.Stop()
|
|
|
if err != nil {
|
|
|
log.Printf("ChromeDriverServiceStop error:%v\n", err)
|
|
|
- core.LogWrite(fmt.Sprintf("ChromeDriverServiceStop error:%v\n", err))
|
|
|
+ XWarning(fmt.Sprintf("ChromeDriverServiceStop error:%v\n", err))
|
|
|
return err
|
|
|
}
|
|
|
|
|
|
@@ -57,7 +59,8 @@ func (m *ChromeDriverConf) ChromeDriverServiceStop() error {
|
|
|
// @description 开启webdriver,和新增tab
|
|
|
// @param
|
|
|
// @return
|
|
|
-func (m *ChromeDriverConf) WebDriverStart() (WebDriver selenium.WebDriver, err error) {
|
|
|
+
|
|
|
+func (m *SeleniumDriverConf) WebDriverStart() (WebDriver selenium.WebDriver, err error) {
|
|
|
//链接本地的浏览器 chrome
|
|
|
caps := selenium.Capabilities{
|
|
|
"browserName": "chrome",
|
|
|
@@ -88,7 +91,7 @@ func (m *ChromeDriverConf) WebDriverStart() (WebDriver selenium.WebDriver, err e
|
|
|
//启用--user-data-dir参数后,同时只能打开一个chrome程序.
|
|
|
//如果已打开chrome程序,必须先关闭已打开的chrome,再运行程序
|
|
|
fmt.Printf("WebDriverStart connect to the webDriver error : %v\n", err)
|
|
|
- core.LogWrite(fmt.Sprintf("WebDriverStart connect to the webDriver error : %v", err))
|
|
|
+ XWarning(fmt.Sprintf("WebDriverStart connect to the webDriver error : %v", err))
|
|
|
return
|
|
|
} else {
|
|
|
log.Println("connect to the webDriver success.")
|
|
|
@@ -101,13 +104,14 @@ func (m *ChromeDriverConf) WebDriverStart() (WebDriver selenium.WebDriver, err e
|
|
|
// @description 关闭webdriver和打开的窗口
|
|
|
// @param
|
|
|
// @return
|
|
|
-func (m *ChromeDriverConf) WebDriverStop() error {
|
|
|
+
|
|
|
+func (m *SeleniumDriverConf) WebDriverStop() error {
|
|
|
//关闭一个webDriver会对应关闭一个chrome窗口
|
|
|
//但是不会导致seleniumServer关闭
|
|
|
err := m.WebDriver.Quit()
|
|
|
if err != nil {
|
|
|
log.Printf("WebDriverStop error:%v\n", err)
|
|
|
- core.LogWrite(fmt.Sprintf("WebDriverStop error:%v\n", err))
|
|
|
+ XWarning(fmt.Sprintf("WebDriverStop error:%v\n", err))
|
|
|
return err
|
|
|
}
|
|
|
|