Class PulsarWebDriver
-
- All Implemented Interfaces:
-
ai.platon.pulsar.skeleton.browser.driver.WebDriver,java.io.Closeable,java.lang.AutoCloseable,kotlin.Comparable
public final class PulsarWebDriver extends AbstractWebDriver
-
-
Field Summary
Fields Modifier and Type Field Description private final BrowserTypebrowserTypeprivate final <Error class: unknown class>devToolsprivate StringuserTypedUrlprivate StringnavigateUrlprivate final <Error class: unknown class>isNetworkIdleprivate Function1<WebDriver, Unit>fingerprintApplierprivate final Objectimplementationprivate final SnapshotServicesnapshotServiceprivate final BrowserTabbrowserTabprivate final BrowserProtocolbpprivate final PulsarBrowserbrowserprivate final List<String>blockedURLsprivate final BrowserChatModelchatModelprivate final Map<String, Object>dataprivate final Map<String, IntRange>delayPolicyprivate final List<WebDriver>framesprivate final Stringguidprivate final Integeridprivate DurationidleTimeoutprivate BooleanignoreDOMFeaturesprivate final BooleanisActiveprivate final BooleanisCanceledprivate final BooleanisConnectableprivate final BooleanisCrashedprivate final BooleanisIdleprivate final BooleanisInitprivate final BooleanisMockedPageSourceprivate final BooleanisQuitprivate final BooleanisReadyprivate BooleanisRecoveredprivate BooleanisRecyclableprivate final BooleanisRetiredprivate BooleanisReusedprivate final BooleanisWorkingprivate InstantlastActiveTimeprivate final List<Map<String, String>>mainRequestCookiesprivate final Map<String, Object>mainRequestHeadersprivate final Map<String, Object>mainResponseHeadersprivate final IntegermainResponseStatusprivate final StringmainResponseStatusTextprivate final Stringnameprivate NavigateEntrynavigateEntryprivate final NavigateHistorynavigateHistoryprivate WebDriveropenerprivate final Set<WebDriver>outgoingPagesprivate final IntegerparentSidprivate final List<String>probabilisticBlockedURLsprivate final FloatresourceBlockProbabilityprivate final BrowserSettingssettingsprivate final Stringstatusprivate final Map<String, Duration>timeoutPolicy
-
Constructor Summary
Constructors Constructor Description PulsarWebDriver(String uniqueID, BrowserTab browserTab, BrowserProtocol bp, PulsarBrowser browser)
-
Method Summary
Modifier and Type Method Description BrowserTypegetBrowserType()final <Error class: unknown class>getDevTools()final StringgetUserTypedUrl()final UnitsetUserTypedUrl(String userTypedUrl)final StringgetNavigateUrl()final UnitsetNavigateUrl(String navigateUrl)final <Error class: unknown class>isNetworkIdle()final Function1<WebDriver, Unit>getFingerprintApplier()final UnitsetFingerprintApplier(Function1<WebDriver, Unit> fingerprintApplier)ObjectgetImplementation()SnapshotServicegetSnapshotService()final BrowserTabgetBrowserTab()final BrowserProtocolgetBp()PulsarBrowsergetBrowser()UnitaddBlockedURLs(List<String> urlPatterns)Unitnavigate(NavigateEntry entry)Unitreload()UnitgoBack()UnitgoForward()List<Map<String, String>>getCookies()UnitdeleteCookies(String name, String url, String domain, String path)UnitclearBrowserCookies()StringselectFirstAttributeOrNull(String selector, String attrName)Objectevaluate(String expression)JsEvaluationevaluateDetail(String expression)ObjectevaluateValue(String expression)ObjectevaluateValue(String selector, String functionDeclaration)JsEvaluationevaluateValueDetail(String expression)JsEvaluationevaluateValueDetail(String selector, String functionDeclaration)StringcurrentUrl()Booleanexists(String selector)DurationwaitForSelector(String selector, Duration timeout, SuspendFunction0<Unit> action)Wait until selector for timeout at most WebDriverwaitForPage(String url, Duration timeout)WebDriverwaitForFunction(String pageFunction, Duration timeout)BooleanisVisible(String selector)Unitcheck(String selector)Unituncheck(String selector)BooleanisChecked(String selector)UnitmouseWheel(Double deltaX, Double deltaY)UnitmouseMove(Double x, Double y)UnitmouseDown(String button, Integer clickCount)TODO: use CDP to implement mouseDown: CDP → Browser Input System → Hit Testing → DOM → JS Event UnitmouseUp(String button, Integer clickCount)TODO: use CDP to implement mouseUp: CDP → Browser Input System → Hit Testing → DOM → JS Event UnitmoveMouseTo(String selector, Integer deltaX, Integer deltaY)Unithover(String selector)Unitclick(String selector, Integer count)Unitclick(String selector, String modifier)List<String>selectOption(String selector, List<String> values)Unitdblclick(String selector)Unitdblclick(String selector, String modifier)focus on an element with selector and dblclick it with modifier pressed Unitresize(Integer width, Integer height)UnitdialogAccept(String promptText)UnitdialogDismiss()Unitfocus(String selector)Unittype(String text, String selector)Unitfill(String selector, String text)Unitupload(String selector, List<String> paths)Unitpress(String key, String selector)UnitkeyDown(String key)UnitkeyUp(String key)DoublescrollTo(String selector)UnitdragAndDrop(String selector, Integer deltaX, Integer deltaY)StringouterHTML(String selector)StringariaSnapshot()StringariaSnapshot(String viewports)List<NodeRef>querySelectorAll(String selector)StringselectFirstTextOrNull(String selector)List<String>selectTextAll(String selector)Map<String, String>selectAttributes(String selector)List<String>selectAttributeAll(String selector, String attrName, Integer start, Integer limit)UnitsetAttribute(String selector, String attrName, String attrValue)UnitsetAttributeAll(String selector, String attrName, String attrValue)StringselectFirstPropertyValueOrNull(String selector, String propName)List<String>selectPropertyValueAll(String selector, String propName, Integer start, Integer limit)UnitsetProperty(String selector, String propName, String propValue)UnitsetPropertyAll(String selector, String propName, String propValue)UnitclickTextMatches(String selector, String pattern, Integer count)UnitclickMatches(String selector, String attrName, String pattern, Integer count)PointDclickablePoint(String selector)RectDboundingBox(String selector)Stringscreenshot(Boolean fullPage)This method scrolls element into view if needed, and then uses {@link screenshot.screenshot} to take a screenshot of the element. Stringscreenshot(String selector)This method scrolls element into view if needed, and then uses {@link page.screenshot} to take a screenshot of the element. Stringscreenshot(RectD rect)StringpageSource()<Error class: unknown class>nanoDOMTree()UnitbringToFront()UnitawaitTermination()NetworkResourceResponseloadResource(String url)Unitclose()Close the tab hold by this driver. final UnitdoClose()Unitpause()Unitstop()StringtoString()final UnitenableAPIAgents()-
Methods inherited from class ai.platon.pulsar.skeleton.browser.driver.AbstractWebDriver
addInitScript, baseURI, cancel, chat, checkState, compareTo, documentURI, equals, evaluate, evaluateValue, extract, free, getBlockedURLs, getChatModel, getData, getDelayPolicy, getFrames, getGuid, getId, getIdleTimeout, getIgnoreDOMFeatures, getLastActiveTime, getMainRequestCookies, getMainRequestHeaders, getMainResponseHeaders, getMainResponseStatus, getMainResponseStatusText, getName, getNavigateEntry, getNavigateHistory, getOpener, getOutgoingPages, getParentSid, getProbabilisticBlockedURLs, getResourceBlockProbability, getSettings, getStatus, getTimeoutPolicy, hashCode, isActive, isCanceled, isConnectable, isCrashed, isIdle, isInit, isMockedPageSource, isQuit, isReady, isRecovered, isRecyclable, isRetired, isReused, isWorking, loadJsoupResource, navigate, newJsoupSession, outerHTML, randomDelayMillis, referrer, retire, scrollBy, scrollDown, scrollToBottom, scrollToMiddle, scrollToTop, scrollToViewport, scrollUp, selectAnchors, selectHyperlinks, selectImages, setIdleTimeout, setIgnoreDOMFeatures, setLastActiveTime, setNavigateEntry, setOpener, setRecovered, setRecyclable, setReused, startWork, terminate, textContent, timeout, title, url, waitForNavigation, waitForNavigation, waitForSelector, waitForSelector, waitUntil, waitUntil -
Methods inherited from class ai.platon.pulsar.skeleton.browser.driver.WebDriver
captureScreenshot, captureScreenshot, captureScreenshot, delay, delay, delay, drag, isHidden, navigateTo, open, selectOption, waitForNavigation, waitForSelector, waitForSelector, waitForSelector, waitUntil -
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
Constructor Detail
-
PulsarWebDriver
PulsarWebDriver(String uniqueID, BrowserTab browserTab, BrowserProtocol bp, PulsarBrowser browser)
-
-
Method Detail
-
getBrowserType
BrowserType getBrowserType()
-
getDevTools
final <Error class: unknown class> getDevTools()
-
getUserTypedUrl
final String getUserTypedUrl()
-
setUserTypedUrl
final Unit setUserTypedUrl(String userTypedUrl)
-
getNavigateUrl
final String getNavigateUrl()
-
setNavigateUrl
final Unit setNavigateUrl(String navigateUrl)
-
isNetworkIdle
final <Error class: unknown class> isNetworkIdle()
-
getFingerprintApplier
final Function1<WebDriver, Unit> getFingerprintApplier()
-
setFingerprintApplier
final Unit setFingerprintApplier(Function1<WebDriver, Unit> fingerprintApplier)
-
getImplementation
Object getImplementation()
-
getSnapshotService
SnapshotService getSnapshotService()
-
getBrowserTab
final BrowserTab getBrowserTab()
-
getBp
final BrowserProtocol getBp()
-
getBrowser
PulsarBrowser getBrowser()
-
addBlockedURLs
Unit addBlockedURLs(List<String> urlPatterns)
-
getCookies
List<Map<String, String>> getCookies()
-
clearBrowserCookies
Unit clearBrowserCookies()
-
selectFirstAttributeOrNull
String selectFirstAttributeOrNull(String selector, String attrName)
-
evaluateDetail
JsEvaluation evaluateDetail(String expression)
-
evaluateValue
Object evaluateValue(String expression)
-
evaluateValue
Object evaluateValue(String selector, String functionDeclaration)
-
evaluateValueDetail
JsEvaluation evaluateValueDetail(String expression)
-
evaluateValueDetail
JsEvaluation evaluateValueDetail(String selector, String functionDeclaration)
-
currentUrl
String currentUrl()
-
waitForSelector
Duration waitForSelector(String selector, Duration timeout, SuspendFunction0<Unit> action)
-
waitForPage
WebDriver waitForPage(String url, Duration timeout)
-
waitForFunction
WebDriver waitForFunction(String pageFunction, Duration timeout)
-
mouseWheel
Unit mouseWheel(Double deltaX, Double deltaY)
-
mouseDown
Unit mouseDown(String button, Integer clickCount)
TODO: use CDP to implement mouseDown: CDP → Browser Input System → Hit Testing → DOM → JS Event
-
mouseUp
Unit mouseUp(String button, Integer clickCount)
TODO: use CDP to implement mouseUp: CDP → Browser Input System → Hit Testing → DOM → JS Event
-
moveMouseTo
Unit moveMouseTo(String selector, Integer deltaX, Integer deltaY)
-
dialogAccept
Unit dialogAccept(String promptText)
-
dialogDismiss
Unit dialogDismiss()
-
dragAndDrop
Unit dragAndDrop(String selector, Integer deltaX, Integer deltaY)
-
ariaSnapshot
String ariaSnapshot()
-
ariaSnapshot
String ariaSnapshot(String viewports)
-
querySelectorAll
@Beta() List<NodeRef> querySelectorAll(String selector)
-
selectFirstTextOrNull
String selectFirstTextOrNull(String selector)
-
selectTextAll
List<String> selectTextAll(String selector)
-
selectAttributes
Map<String, String> selectAttributes(String selector)
-
selectAttributeAll
List<String> selectAttributeAll(String selector, String attrName, Integer start, Integer limit)
-
setAttribute
Unit setAttribute(String selector, String attrName, String attrValue)
-
setAttributeAll
Unit setAttributeAll(String selector, String attrName, String attrValue)
-
selectFirstPropertyValueOrNull
String selectFirstPropertyValueOrNull(String selector, String propName)
-
selectPropertyValueAll
List<String> selectPropertyValueAll(String selector, String propName, Integer start, Integer limit)
-
setProperty
Unit setProperty(String selector, String propName, String propValue)
-
setPropertyAll
Unit setPropertyAll(String selector, String propName, String propValue)
-
clickTextMatches
Unit clickTextMatches(String selector, String pattern, Integer count)
-
clickablePoint
PointD clickablePoint(String selector)
-
boundingBox
RectD boundingBox(String selector)
-
screenshot
String screenshot(Boolean fullPage)
This method scrolls element into view if needed, and then uses {@link screenshot.screenshot} to take a screenshot of the element. If the element is detached from DOM, the method throws an error.
-
screenshot
String screenshot(String selector)
This method scrolls element into view if needed, and then uses {@link page.screenshot} to take a screenshot of the element. If the element is detached from DOM, the method throws an error.
-
screenshot
String screenshot(RectD rect)
-
pageSource
String pageSource()
-
nanoDOMTree
<Error class: unknown class> nanoDOMTree()
-
bringToFront
Unit bringToFront()
-
awaitTermination
Unit awaitTermination()
-
loadResource
NetworkResourceResponse loadResource(String url)
-
enableAPIAgents
final Unit enableAPIAgents()
-
-
-
-