第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

任何等待一些javascript代碼的waitForJs函數(shù)返回true

任何等待一些javascript代碼的waitForJs函數(shù)返回true

Go
守候你守候我 2021-09-10 21:00:23
這是關(guān)于golang selenium webdriver 的問(wèn)題。是否有任何函數(shù)僅在某些 js 代碼返回 true 后返回。var session *webdriver.Session...session.waitForJs(`$('#redButton').css('color')=='red'`)// next code should be executed only after `#redButton` becomes red問(wèn)題是該方法session.waitForJs不存在。
查看完整描述

1 回答

?
慕的地10843

TA貢獻(xiàn)1785條經(jīng)驗(yàn) 獲得超8個(gè)贊

我在與 Selenium 的 golang 綁定中看不到任何等待函數(shù),因此您很可能需要定義自己的等待函數(shù)。這是我第一次嘗試 golang,所以請(qǐng)耐心等待:


type elementCondition func(e WebElement) bool


// Function returns once timeout has expired or the element condition is true

func (e WebElement) WaitForCondition(fn elementCondition, int timeOut) {


    // Loop if the element condition is not true

    for i:= 0; !elementCondition(e) && i < timeOut; i++ {

        time.sleep(1000)

    }

}

有兩個(gè)選項(xiàng)可以定義elementCondition. 您使用 Javascript 的方法看起來(lái)可以與webdriver.go 中ExecuteScript記錄的函數(shù)一起使用


// 將一段 JavaScript 代碼注入頁(yè)面,以便在當(dāng)前選定框架的上下文中執(zhí)行。假設(shè)執(zhí)行的腳本是同步的,并且評(píng)估腳本的結(jié)果將返回給客戶端。


另一種方法是通過(guò) Selenium 訪問(wèn)元素屬性


func ButtonIsRed(WebElement e) (bool) {

    return (e.GetCssProperty('color') == 'red')

}

所以你的代碼會(huì)變成


var session *webdriver.Session

....

// Locate the button with a css selector

var webElement := session.FindElement(CSS_Selector, '#redButton')

// Wait for the button to be red

webElement.WaitForCondition(ButtonIsRed, 10)


查看完整回答
反對(duì) 回復(fù) 2021-09-10
  • 1 回答
  • 0 關(guān)注
  • 351 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)