• go rod


    ...

    package main
    
    import (
    	"fmt"
    	"log"
    	"time"
    
    	"github.com/go-rod/rod"
    	"github.com/go-rod/rod/lib/launcher"
    )
    
    type TbPars struct {
    	NavUrl    string // first url requst
    	PreElm    string // xpath to loc pre elm
    	DataSel   string
    	Ln, Col   int
    	PageCount int
    	Next      string
    }
    
    func (t *TbPars) Pars() {
    	path, _ := launcher.LookPath()
    	u := launcher.New().Delete("--headless").Set("--window-size=1920,1080").Bin(path).MustLaunch()
    	brs := rod.New().ControlURL(u).MustConnect()
    	page := brs.MustPage(t.NavUrl).MustWaitLoad()
    	log.Println("flag1====")
    	page.Mouse.MustScroll(1600, 1600)
    	page.MustElement(t.PreElm).MustClick()
    	log.Println("flag====")
    	// page.Keyboard.MustPress(35)
    
    	elm := page.MustElementX(`/html/body/div[1]/table/tbody/tr[7]/td[1]/div`)
    	text := elm.MustText()
    	log.Println(text)
    	for i := 1; i <= t.Ln; i++ {
    		ln := []string{}
    		for j := 1; j <= t.Col; j++ {
    			sel := fmt.Sprintf(t.DataSel, i, j)
    			// log.Println(i, j, sel)
    			text := page.MustElementX(sel).MustText()
    			log.Println("get ===>", text)
    			ln = append(ln, text)
    		}
    		log.Println(ln)
    	}
    	time.Sleep(30 * time.Second)
    
    }
    
    func Foo() {
    
    	t := TbPars{
    		NavUrl: "https://www.eiguleo.com",
    		// PreElm: "#tab-de",
    		PreElm:  "#tab-eigu",
    		DataSel: "/html/body/div[1]/div[2]/div[1]/div/div[3]/table/tbody/tr[%d]/td[%d]/div",
    		Ln:      10, Col: 9,
    		PageCount: 18, Next: "#eigu-app > div.content",
    	}
    	t.Pars()
    
    }
    
    func main() {
    	Foo()
    }
    

      

  • 相关阅读:
    关于React的脚手架
    yarn和npm
    谈谈NPM和Webpack的关系
    php开发环境和框架phalcon的搭建
    Centos6.5--svn搭建
    System.Diagnostics.Process.Start(ProcessStartInfo)
    PHP错误:call to undefined function imagecreatetruecolor
    PostgreSQL删除表中重复数据行
    URL存在http host头攻击漏洞-修复方案
    for循环的执行顺序
  • 原文地址:https://www.cnblogs.com/eiguleo/p/15777354.html
Copyright © 2020-2023  润新知