47 lines
735 B
Go
47 lines
735 B
Go
package auction
|
|
|
|
import (
|
|
"local/sandbox/selenium/copart/copart/browser"
|
|
"time"
|
|
|
|
"github.com/tebeka/selenium"
|
|
)
|
|
|
|
type WebDriver interface {
|
|
browser.WebDriver
|
|
}
|
|
|
|
type WebElement interface {
|
|
selenium.WebElement
|
|
}
|
|
|
|
func waitForXPath(wd WebElement, path string) selenium.WebElement {
|
|
var we selenium.WebElement
|
|
test := func() bool {
|
|
v, err := wd.FindElements("xpath", path)
|
|
if err != nil {
|
|
return false
|
|
}
|
|
if len(v) < 1 {
|
|
return false
|
|
}
|
|
we = v[0]
|
|
return true
|
|
}
|
|
for !test() {
|
|
time.Sleep(1)
|
|
}
|
|
return we
|
|
}
|
|
|
|
func followTags(wd WebElement, tag ...string) selenium.WebElement {
|
|
for _, t := range tag {
|
|
var err error
|
|
wd, err = wd.FindElement("tag name", t)
|
|
if err != nil {
|
|
return nil
|
|
}
|
|
}
|
|
return wd
|
|
}
|