Class PulsarBrowser
-
- All Implemented Interfaces:
-
ai.platon.pulsar.common.event.EventEmitter,ai.platon.pulsar.skeleton.crawl.fetch.driver.Browser,java.lang.AutoCloseable
public final class PulsarBrowser extends AbstractBrowser
-
-
Field Summary
Fields Modifier and Type Field Description private final Stringhostprivate final Integerportprivate final BooleanisConnectedprivate final BooleanisActiveprivate final StringuserAgentprivate final <Error class: unknown class>chromeprivate final Map<String, Object>dataprivate final Map<String, WebDriver>driversprivate Function1<Throwable, Unit>eventExceptionHandlerprivate WebDriverfrontDriverprivate final BrowserIdidprivate final DurationidleTimeoutprivate final IntegerinstanceIdprivate final BooleanisClosedprivate final BooleanisGUIprivate final BooleanisIdleprivate final BooleanisPermanentprivate final Map<BrowserEvents, List<Function<Object>>>listenersprivate final NavigateHistorynavigateHistoryprivate final StringreadableStateprivate final BrowserSettingssettingsprivate StringuserAgentOverride
-
Constructor Summary
Constructors Constructor Description PulsarBrowser(Integer port, BrowserSettings settings)PulsarBrowser(BrowserId id, <Error class: unknown class> chrome, BrowserSettings settings, ChromeLauncher launcher)
-
Method Summary
Modifier and Type Method Description StringgetHost()IntegergetPort()BooleanisConnected()BooleanisActive()StringgetUserAgent()final <Error class: unknown class>getChrome()final ChromeTabcreateTab()final ChromeTabcreateTab(String url)final Array<ChromeTab>listTabs()final UnitcloseTab(ChromeTab tab)PulsarWebDrivernewDriver()PulsarWebDrivernewDriver(String url)UnitdestroyDriver(WebDriver driver)Unitmaintain()UnitdestroyForcibly()Destroy the browser and its associated resources. Unitclose()Closing call stack:PrivacyContextManager. UnitrecoverUnmanagedPages()Pages can be open in the browser, for example, by a click. -
Methods inherited from class ai.platon.pulsar.skeleton.crawl.fetch.driver.AbstractBrowser
clearCookies, findDriver, findDriver, findDriverByGUID, findDriverById, findDrivers, getData, getDrivers, getFrontDriver, getId, getIdleTimeout, getInstanceId, getNavigateHistory, getReadableState, getSettings, getUserAgentOverride, isClosed, isGUI, isIdle, isPermanent, listDrivers, onInitialize, onWillNavigate, setFrontDriver, setUserAgentOverride -
Methods inherited from class ai.platon.pulsar.common.event.AbstractEventEmitter
count, emit, emit, emit, emit, emit1, emit1, emit1, emit1, getEventExceptionHandler, getListeners, hasListeners, listeners, listeners, off, off, off, off, off, off1, off1, off1, off1, off1, on, on, on, on, on1, on1, on1, on1, once, once, once, once1, once1, once1, setEventExceptionHandler -
Methods inherited from class ai.platon.pulsar.common.event.EventEmitter
hasNormalListeners, hasSuspendListeners, normalListeners, normalListeners, suspendListeners, suspendListeners -
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
Method Detail
-
getHost
String getHost()
-
getPort
Integer getPort()
-
isConnected
Boolean isConnected()
-
isActive
Boolean isActive()
-
getUserAgent
String getUserAgent()
-
getChrome
final <Error class: unknown class> getChrome()
-
createTab
@Synchronized() final ChromeTab createTab()
-
createTab
@Synchronized() final ChromeTab createTab(String url)
-
listTabs
@Synchronized() final Array<ChromeTab> listTabs()
-
closeTab
@Synchronized() final Unit closeTab(ChromeTab tab)
-
newDriver
@Synchronized() PulsarWebDriver newDriver()
-
newDriver
@Synchronized() PulsarWebDriver newDriver(String url)
-
destroyDriver
Unit destroyDriver(WebDriver driver)
-
destroyForcibly
@Synchronized() Unit destroyForcibly()
Destroy the browser and its associated resources.
-
close
Unit close()
Closing call stack:
PrivacyContextManager.close -> PrivacyContext.close -> WebDriverContext.close -> WebDriverPoolManager.close -> BrowserManager.close -> Browser.close -> WebDriver.close |-> LoadingWebDriverPool.close()
-
recoverUnmanagedPages
Unit recoverUnmanagedPages()
Pages can be open in the browser, for example, by a click. We should recover the page and create a web driver to manage it.
TODO: capture events that open new pages
-
-
-
-