解决cookie设置失败问题
This commit is contained in:
parent
4c99d24de6
commit
6446cd58f1
21
chrome.go
21
chrome.go
@ -60,7 +60,7 @@ type Chrome struct {
|
|||||||
// Author : go_developer@163.com<白茶清欢>
|
// Author : go_developer@163.com<白茶清欢>
|
||||||
//
|
//
|
||||||
// Date : 16:14 2023/1/24
|
// Date : 16:14 2023/1/24
|
||||||
func (c *Chrome) Render() {
|
func (c *Chrome) Render(cookieList []*selenium.Cookie) {
|
||||||
//链接本地的浏览器 chrome
|
//链接本地的浏览器 chrome
|
||||||
caps := selenium.Capabilities{
|
caps := selenium.Capabilities{
|
||||||
//"browserName": "/Applications/Google Chrome Dev.app/Contents/MacOS/Google Chrome Dev",
|
//"browserName": "/Applications/Google Chrome Dev.app/Contents/MacOS/Google Chrome Dev",
|
||||||
@ -83,23 +83,24 @@ func (c *Chrome) Render() {
|
|||||||
}
|
}
|
||||||
//以上是设置浏览器参数
|
//以上是设置浏览器参数
|
||||||
caps.AddChrome(chromeCaps)
|
caps.AddChrome(chromeCaps)
|
||||||
|
|
||||||
url := "https://detail.tmall.hk/hk/item.htm?id=605481322232&rn=bbb58fe2f3e13e03b21df9c396f23fbc&abbucket=12"
|
url := "https://detail.tmall.hk/hk/item.htm?id=605481322232&rn=bbb58fe2f3e13e03b21df9c396f23fbc&abbucket=12"
|
||||||
w_b1, err := selenium.NewRemote(caps, fmt.Sprintf("http://localhost:%d/wd/hub", c.port))
|
w_b1, err := selenium.NewRemote(caps, fmt.Sprintf("http://localhost:%d/wd/hub", c.port))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Println("connect to the webDriver faild", err.Error())
|
fmt.Println("connect to the webDriver faild", err.Error())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
w_b1.AddCookie(&selenium.Cookie{
|
_ = w_b1.Get(url)
|
||||||
Name: "",
|
|
||||||
Value: "",
|
for _, itemCookie := range cookieList {
|
||||||
Path: "",
|
err = w_b1.AddCookie(itemCookie)
|
||||||
Domain: "",
|
fmt.Println(err)
|
||||||
Secure: false,
|
}
|
||||||
Expiry: 0,
|
allCookie, _ := w_b1.GetCookies()
|
||||||
})
|
fmt.Println(allCookie)
|
||||||
err = w_b1.Get(url)
|
err = w_b1.Get(url)
|
||||||
imgByteData, _ := w_b1.Screenshot()
|
imgByteData, _ := w_b1.Screenshot()
|
||||||
ioutil.WriteFile("test.png", imgByteData, 0777)
|
_ = ioutil.WriteFile("test.png", imgByteData, 0777)
|
||||||
|
|
||||||
//获取网页源码
|
//获取网页源码
|
||||||
pageSource, err := w_b1.PageSource()
|
pageSource, err := w_b1.PageSource()
|
||||||
|
209
chrome_test.go
209
chrome_test.go
@ -7,9 +7,214 @@
|
|||||||
// Date : 2023-01-24 16:16
|
// Date : 2023-01-24 16:16
|
||||||
package util
|
package util
|
||||||
|
|
||||||
import "testing"
|
import (
|
||||||
|
"encoding/json"
|
||||||
|
"testing"
|
||||||
|
|
||||||
|
"github.com/tebeka/selenium"
|
||||||
|
)
|
||||||
|
|
||||||
|
type itemCookie struct {
|
||||||
|
Domain string `json:"domain"`
|
||||||
|
ExpirationDate float64 `json:"expirationDate"`
|
||||||
|
HostOnly bool `json:"hostOnly"`
|
||||||
|
HTTPOnly bool `json:"httpOnly"`
|
||||||
|
Name string `json:"name"`
|
||||||
|
Path string `json:"path"`
|
||||||
|
SameSite string `json:"sameSite"`
|
||||||
|
Secure bool `json:"secure"`
|
||||||
|
Session bool `json:"session"`
|
||||||
|
StoreID interface{} `json:"storeId"`
|
||||||
|
Value string `json:"value"`
|
||||||
|
}
|
||||||
|
|
||||||
func TestNewChrome(t *testing.T) {
|
func TestNewChrome(t *testing.T) {
|
||||||
|
cookieJson := `[
|
||||||
|
{
|
||||||
|
"domain": ".tmall.hk",
|
||||||
|
"expirationDate": 1690105309,
|
||||||
|
"hostOnly": false,
|
||||||
|
"httpOnly": false,
|
||||||
|
"name": "isg",
|
||||||
|
"path": "/",
|
||||||
|
"sameSite": "no_restriction",
|
||||||
|
"secure": true,
|
||||||
|
"session": false,
|
||||||
|
"storeId": null,
|
||||||
|
"value": "BIaGaoCcGV5rRs1MLXd6yKZh13oI58qhGIcoyHCvZamEcyaN2HVhsLYBS6-_W8K5"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"domain": ".tmall.hk",
|
||||||
|
"expirationDate": 1690105309,
|
||||||
|
"hostOnly": false,
|
||||||
|
"httpOnly": false,
|
||||||
|
"name": "tfstk",
|
||||||
|
"path": "/",
|
||||||
|
"sameSite": null,
|
||||||
|
"secure": false,
|
||||||
|
"session": false,
|
||||||
|
"storeId": null,
|
||||||
|
"value": "cg9FBFXpnTY1tO--kOXy_d93nw_dZzABN5Sct4lddHYKLG5hiAzRjaHP7aqar6f.."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"domain": ".tmall.hk",
|
||||||
|
"hostOnly": false,
|
||||||
|
"httpOnly": true,
|
||||||
|
"name": "cookie2",
|
||||||
|
"path": "/",
|
||||||
|
"sameSite": "no_restriction",
|
||||||
|
"secure": true,
|
||||||
|
"session": true,
|
||||||
|
"storeId": null,
|
||||||
|
"value": "11a2e3f5c45325625d3078fb518e12c2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"domain": ".tmall.hk",
|
||||||
|
"expirationDate": 1989017049.363698,
|
||||||
|
"hostOnly": false,
|
||||||
|
"httpOnly": true,
|
||||||
|
"name": "enc",
|
||||||
|
"path": "/",
|
||||||
|
"sameSite": "no_restriction",
|
||||||
|
"secure": true,
|
||||||
|
"session": false,
|
||||||
|
"storeId": null,
|
||||||
|
"value": "6CoIBy8lnAje2hQ5K99yGofrAdPkNuvRIKCK5JA5Q1%2Boub3YNh5iNsNvpfU4Gc%2F9X98U3fXBxBLv3PYp6%2Fw9Eg%3D%3D"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"domain": ".tmall.hk",
|
||||||
|
"expirationDate": 2303824744,
|
||||||
|
"hostOnly": false,
|
||||||
|
"httpOnly": false,
|
||||||
|
"name": "cna",
|
||||||
|
"path": "/",
|
||||||
|
"sameSite": "no_restriction",
|
||||||
|
"secure": true,
|
||||||
|
"session": false,
|
||||||
|
"storeId": null,
|
||||||
|
"value": "Unx0GIPP62UCAdIMnVT6ZNWT"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"domain": ".tmall.hk",
|
||||||
|
"hostOnly": false,
|
||||||
|
"httpOnly": false,
|
||||||
|
"name": "_tb_token_",
|
||||||
|
"path": "/",
|
||||||
|
"sameSite": "no_restriction",
|
||||||
|
"secure": true,
|
||||||
|
"session": true,
|
||||||
|
"storeId": null,
|
||||||
|
"value": "5777de41b7551"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"domain": ".tmall.hk",
|
||||||
|
"expirationDate": 1690105309,
|
||||||
|
"hostOnly": false,
|
||||||
|
"httpOnly": false,
|
||||||
|
"name": "l",
|
||||||
|
"path": "/",
|
||||||
|
"sameSite": null,
|
||||||
|
"secure": false,
|
||||||
|
"session": false,
|
||||||
|
"storeId": null,
|
||||||
|
"value": "fB_jjhQqT3bcamXsBOfwFurza77tQIRAguPzaNbMi9fPO45e5NgCW6R3X-LwCnGVFs9vR38_FFteBeYBcImK10ew8c9WeIkmnmOk-Wf.."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"domain": ".tmall.hk",
|
||||||
|
"expirationDate": 1705193049.363653,
|
||||||
|
"hostOnly": false,
|
||||||
|
"httpOnly": false,
|
||||||
|
"name": "lid",
|
||||||
|
"path": "/",
|
||||||
|
"sameSite": "no_restriction",
|
||||||
|
"secure": true,
|
||||||
|
"session": false,
|
||||||
|
"storeId": null,
|
||||||
|
"value": "baichaqinghuan"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"domain": "citizenwatchhk.tmall.hk",
|
||||||
|
"expirationDate": 1677145308,
|
||||||
|
"hostOnly": true,
|
||||||
|
"httpOnly": false,
|
||||||
|
"name": "pnm_cku822",
|
||||||
|
"path": "/",
|
||||||
|
"sameSite": null,
|
||||||
|
"secure": false,
|
||||||
|
"session": false,
|
||||||
|
"storeId": null,
|
||||||
|
"value": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"domain": ".tmall.hk",
|
||||||
|
"hostOnly": false,
|
||||||
|
"httpOnly": true,
|
||||||
|
"name": "sgcookie",
|
||||||
|
"path": "/",
|
||||||
|
"sameSite": "no_restriction",
|
||||||
|
"secure": true,
|
||||||
|
"session": true,
|
||||||
|
"storeId": null,
|
||||||
|
"value": "E100IilftBf8v72hUSyVYv1LxeVnT75WmX5JvCC%2FiwaVX6Jw%2F0VN5tvc5jeI1pmLlV6PQztlnaJAV7s%2BgN7OZop9YcNrm7SwWEzf%2FVxygdIEDEOMnWyqApcrGHr8YEjkciwn"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"domain": ".tmall.hk",
|
||||||
|
"hostOnly": false,
|
||||||
|
"httpOnly": false,
|
||||||
|
"name": "t",
|
||||||
|
"path": "/",
|
||||||
|
"sameSite": "no_restriction",
|
||||||
|
"secure": true,
|
||||||
|
"session": true,
|
||||||
|
"storeId": null,
|
||||||
|
"value": "6f803235fb4e32d8ef21df8238179fbe"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"domain": ".tmall.hk",
|
||||||
|
"hostOnly": false,
|
||||||
|
"httpOnly": false,
|
||||||
|
"name": "tracknick",
|
||||||
|
"path": "/",
|
||||||
|
"sameSite": "no_restriction",
|
||||||
|
"secure": true,
|
||||||
|
"session": true,
|
||||||
|
"storeId": null,
|
||||||
|
"value": "baichaqinghuan"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"domain": ".tmall.hk",
|
||||||
|
"expirationDate": 1674559183,
|
||||||
|
"hostOnly": false,
|
||||||
|
"httpOnly": false,
|
||||||
|
"name": "xlly_s",
|
||||||
|
"path": "/",
|
||||||
|
"sameSite": "no_restriction",
|
||||||
|
"secure": true,
|
||||||
|
"session": false,
|
||||||
|
"storeId": null,
|
||||||
|
"value": "1"
|
||||||
|
}
|
||||||
|
]`
|
||||||
|
var inputCookieList []itemCookie
|
||||||
|
_ = json.Unmarshal([]byte(cookieJson), &inputCookieList)
|
||||||
|
cookieList := make([]*selenium.Cookie, 0)
|
||||||
|
for _, item := range inputCookieList {
|
||||||
|
expiry := uint(item.ExpirationDate)
|
||||||
|
if expiry == 0 {
|
||||||
|
expiry = 1690105309
|
||||||
|
}
|
||||||
|
if item.Domain == ".tmall.hk" {
|
||||||
|
item.Domain = "citizenwatchhk" + item.Domain
|
||||||
|
}
|
||||||
|
cookieList = append(cookieList, &selenium.Cookie{
|
||||||
|
Name: item.Name,
|
||||||
|
Value: item.Value,
|
||||||
|
Path: item.Path,
|
||||||
|
Domain: item.Domain,
|
||||||
|
Secure: item.Secure,
|
||||||
|
Expiry: expiry,
|
||||||
|
})
|
||||||
|
}
|
||||||
instance, _ := NewChrome("/Users/zhangdeman/Downloads/chromedriver", 9515, true, nil)
|
instance, _ := NewChrome("/Users/zhangdeman/Downloads/chromedriver", 9515, true, nil)
|
||||||
instance.Render()
|
instance.Render(cookieList)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user