Class PulsarWebDriver
-
- All Implemented Interfaces:
-
ai.platon.pulsar.skeleton.crawl.fetch.driver.JvmWebDriver,ai.platon.pulsar.skeleton.crawl.fetch.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>isNetworkIdleprivate StringinjectedScriptIdentifierprivate final Objectimplementationprivate final DomServicedomServiceprivate final ChromeTabchromeTabprivate final <Error class: unknown class>devToolsprivate 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, ChromeTab chromeTab, <Error class: unknown class> devTools, PulsarBrowser browser)
-
Method Summary
Modifier and Type Method Description BrowserTypegetBrowserType()final <Error class: unknown class>isNetworkIdle()final StringgetInjectedScriptIdentifier()final UnitsetInjectedScriptIdentifier(String injectedScriptIdentifier)ObjectgetImplementation()DomServicegetDomService()final ChromeTabgetChromeTab()final <Error class: unknown class>getDevTools()PulsarBrowsergetBrowser()UnitaddBlockedURLs(List<String> urlPatterns)UnitnavigateTo(NavigateEntry entry)Unitreload()UnitgoBack()UnitgoForward()List<Map<String, String>>getCookies()UnitdeleteCookies(String name)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)StringcurrentUrl()Booleanexists(String selector)DurationwaitForSelector(String selector, Duration timeout, SuspendFunction0<Unit> action)Wait until selector for timeout at most WebDriverwaitForPage(String url, Duration timeout)BooleanisVisible(String selector)BooleanisChecked(String selector)UnitmouseWheelDown(Integer count, Double deltaX, Double deltaY, Long delayMillis)UnitmouseWheelUp(Integer count, Double deltaX, Double deltaY, Long delayMillis)UnitmoveMouseTo(Double x, Double y)UnitmoveMouseTo(String selector, Integer deltaX, Integer deltaY)Unithover(String selector)Unitclick(String selector, Integer count)Unitclick(String selector, String modifier)Unitfocus(String selector)Unittype(String selector, String text)Unitfill(String selector, String text)Unitpress(String selector, String key)DoublescrollTo(String selector)UnitdragAndDrop(String selector, Integer deltaX, Integer deltaY)StringouterHTML(String selector)StringselectFirstTextOrNull(String selector)PointDclickablePoint(String selector)RectDboundingBox(String selector)StringcaptureScreenshot(Boolean fullPage)This method scrolls element into view if needed, and then uses {@link screenshot.captureScreenshot} to take a screenshot of the element. StringcaptureScreenshot(String selector)This method scrolls element into view if needed, and then uses {@link page.captureScreenshot} to take a screenshot of the element. StringcaptureScreenshot(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.crawl.fetch.driver.AbstractWebDriver
addInitScript, baseURI, cancel, chat, check, checkState, clickMatches, clickNthAnchor, clickTextMatches, 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, jvm, loadJsoupResource, navigateTo, newJsoupSession, outerHTML, randomDelayMillis, referrer, retire, scrollBy, scrollDown, scrollToBottom, scrollToMiddle, scrollToTop, scrollToViewport, scrollUp, selectAnchors, selectAttributeAll, selectAttributes, selectFirstPropertyValueOrNull, selectHyperlinks, selectImages, selectPropertyValueAll, selectTextAll, setAttribute, setAttributeAll, setIdleTimeout, setIgnoreDOMFeatures, setLastActiveTime, setNavigateEntry, setOpener, setProperty, setPropertyAll, setRecovered, setRecyclable, setReused, startWork, terminate, textContent, timeout, title, uncheck, url, waitForNavigation, waitForNavigation, waitForSelector, waitForSelector, waitUntil, waitUntil -
Methods inherited from class ai.platon.pulsar.skeleton.crawl.fetch.driver.WebDriver
delay, delay, delay, isHidden, open, scrollToScreen, visible, waitForNavigation, waitForSelector, waitForSelector, waitForSelector, waitUntil -
Methods inherited from class ai.platon.pulsar.skeleton.crawl.fetch.driver.AbstractJvmWebDriver
addBlockedURLsAsync, addInitScriptAsync, boundingBoxAsync, bringToFrontAsync, captureScreenshotAsync, captureScreenshotAsync, checkAsync, clickAsync, clickMatchesAsync, clickMatchesAsync, clickNthAnchorAsync, clickablePointAsync, currentUrlAsync, dragAndDropAsync, evaluateAsync, existsAsync, getCookiesAsync, isCheckedAsync, isHiddenAsync, isVisibleAsync, loadResourceAsync, mouseWheelDownAsync, mouseWheelUpAsync, moveMouseToAsync, navigateToAsync, navigateToAsync, newJsoupSessionAsync, outerHTMLAsync, pageSourceAsync, pauseAsync, scrollDownAsync, scrollToAsync, scrollToBottomAsync, scrollToTopAsync, scrollUpAsync, selectAttributeAllAsync, selectFirstAttributeOptionalAsync, selectFirstAttributeOrNullAsync, selectFirstTextOptionalAsync, selectFirstTextOrNullAsync, selectTextAllAsync, stopAsync, typeAsync, uncheckAsync, visibleAsync, waitForNavigationAsync, waitForNavigationAsync, waitForNavigationAsync, waitForSelectorAsync, waitForSelectorAsync, waitForSelectorAsync -
Methods inherited from class ai.platon.pulsar.skeleton.crawl.fetch.driver.JvmWebDriver
clickAsync, clickMatchesAsync, clickMatchesAsync -
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
Constructor Detail
-
PulsarWebDriver
PulsarWebDriver(String uniqueID, ChromeTab chromeTab, <Error class: unknown class> devTools, PulsarBrowser browser)
-
-
Method Detail
-
getBrowserType
BrowserType getBrowserType()
-
isNetworkIdle
final <Error class: unknown class> isNetworkIdle()
-
getInjectedScriptIdentifier
final String getInjectedScriptIdentifier()
-
setInjectedScriptIdentifier
final Unit setInjectedScriptIdentifier(String injectedScriptIdentifier)
-
getImplementation
Object getImplementation()
-
getDomService
DomService getDomService()
-
getChromeTab
final ChromeTab getChromeTab()
-
getDevTools
final <Error class: unknown class> getDevTools()
-
getBrowser
PulsarBrowser getBrowser()
-
addBlockedURLs
Unit addBlockedURLs(List<String> urlPatterns)
-
navigateTo
Unit navigateTo(NavigateEntry entry)
-
getCookies
List<Map<String, String>> getCookies()
-
deleteCookies
@Deprecated(message = "Use deleteCookies(name, url, domain, path) instead.[deleteCookies] (3/5) | code: -32602, At least one of the url and domain needs to be specified", replaceWith = @ReplaceWith(imports = {}, expression = "driver.deleteCookies(name, url, domain, path)")) Unit deleteCookies(String name)
-
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)
-
currentUrl
String currentUrl()
-
waitForSelector
Duration waitForSelector(String selector, Duration timeout, SuspendFunction0<Unit> action)
-
waitForPage
WebDriver waitForPage(String url, Duration timeout)
-
moveMouseTo
Unit moveMouseTo(Double x, Double y)
-
moveMouseTo
Unit moveMouseTo(String selector, Integer deltaX, Integer deltaY)
-
dragAndDrop
Unit dragAndDrop(String selector, Integer deltaX, Integer deltaY)
-
selectFirstTextOrNull
String selectFirstTextOrNull(String selector)
-
clickablePoint
PointD clickablePoint(String selector)
-
boundingBox
RectD boundingBox(String selector)
-
captureScreenshot
String captureScreenshot(Boolean fullPage)
This method scrolls element into view if needed, and then uses {@link screenshot.captureScreenshot} to take a screenshot of the element. If the element is detached from DOM, the method throws an error.
-
captureScreenshot
String captureScreenshot(String selector)
This method scrolls element into view if needed, and then uses {@link page.captureScreenshot} to take a screenshot of the element. If the element is detached from DOM, the method throws an error.
-
captureScreenshot
String captureScreenshot(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()
-
-
-
-