Package com.crawljax.core.state

Examples of com.crawljax.core.state.Eventable


   * @param eventable
   *            the eventable to fire
   * @return true iff the event is fired
   */
  private boolean fireEvent(Eventable eventable) {
    Eventable eventToFire = eventable;
    if (eventable.getIdentification().getHow().toString().equals("xpath")
            && eventable.getRelatedFrame().equals("")) {
      eventToFire = resolveByXpath(eventable, eventToFire);
    }
    boolean isFired = false;
    try {
      isFired = browser.fireEventAndWait(eventToFire);
    } catch (ElementNotVisibleException | NoSuchElementException e) {
      if (crawlRules.isCrawlHiddenAnchors() && eventToFire.getElement() != null
              && "A".equals(eventToFire.getElement().getTag())) {
        isFired = visitAnchorHrefIfPossible(eventToFire);
      } else {
        LOG.debug("Ignoring invisble element {}", eventToFire.getElement());
      }
    } catch (InterruptedException e) {
      LOG.debug("Interrupted during fire event");
      Thread.currentThread().interrupt();
      return false;
View Full Code Here


    String newXPath = new ElementResolver(eventable, browser).resolve();
    if (newXPath != null && !xpath.equals(newXPath)) {
      LOG.debug("XPath changed from {} to {} relatedFrame: {}", xpath, newXPath,
              eventable.getRelatedFrame());
      eventToFire =
              new Eventable(new Identification(Identification.How.xpath, newXPath),
                      eventType);
    }
    return eventToFire;
  }
View Full Code Here

    CandidateCrawlAction action =
            candidateActionCache.pollActionOrNull(stateMachine.getCurrentState());
    while (action != null && !interrupted) {
      CandidateElement element = action.getCandidateElement();
      if (element.allConditionsSatisfied(browser)) {
        Eventable event = new Eventable(element, action.getEventType());
        handleInputElements(event);
        waitForRefreshTagIfAny(event);

        boolean fired = fireEvent(event);
        if (fired) {
View Full Code Here

   * @param eventable
   *            the eventable to fire
   * @return true iff the event is fired
   */
  private boolean fireEvent(Eventable eventable) {
    Eventable eventToFire = eventable;
    if (eventable.getIdentification().getHow().toString().equals("xpath")
            && eventable.getRelatedFrame().equals("")) {
      eventToFire = resolveByXpath(eventable, eventToFire);
    }
    boolean isFired = false;
    try {
      isFired = browser.fireEventAndWait(eventToFire);
    } catch (ElementNotVisibleException | NoSuchElementException e) {
      if (crawlRules.isCrawlHiddenAnchors() && eventToFire.getElement() != null
              && "A".equals(eventToFire.getElement().getTag())) {
        isFired = visitAnchorHrefIfPossible(eventToFire);
      } else {
        LOG.debug("Ignoring invisble element {}", eventToFire.getElement());
      }
    } catch (InterruptedException e) {
      LOG.debug("Interrupted during fire event");
      Thread.currentThread().interrupt();
      return false;
View Full Code Here

    String newXPath = new ElementResolver(eventable, browser).resolve();
    if (newXPath != null && !xpath.equals(newXPath)) {
      LOG.debug("XPath changed from {} to {} relatedFrame: {}", xpath, newXPath,
              eventable.getRelatedFrame());
      eventToFire =
              new Eventable(new Identification(Identification.How.xpath, newXPath),
                      eventType);
    }
    return eventToFire;
  }
View Full Code Here

    CandidateCrawlAction action =
            candidateActionCache.pollActionOrNull(stateMachine.getCurrentState());
    while (action != null && !interrupted) {
      CandidateElement element = action.getCandidateElement();
      if (element.allConditionsSatisfied(browser)) {
        Eventable event = new Eventable(element, action.getEventType());
        handleInputElements(event);
        waitForRefreshTagIfAny(event);

        boolean fired = fireEvent(event);
        if (fired) {
View Full Code Here

          List<RenderedCandidateElement> rendered) {
    List<Map<String, String>> elements = new ArrayList<Map<String, String>>();

    if (rendered != null) {
      for (RenderedCandidateElement element : rendered) {
        Eventable eventable = getEventableByCandidateElementInState(state, element);
        StateVertix toState = null;
        Map<String, String> elementMap = new HashMap<String, String>();
        if (eventable != null) {
          toState = sfg.getTargetState(eventable);
        }
View Full Code Here

   * @param eventable
   *            the eventable to fire
   * @return true iff the event is fired
   */
  private boolean fireEvent(Eventable eventable) {
    Eventable eventToFire = eventable;
    if (eventable.getIdentification().getHow().toString().equals("xpath")
            && eventable.getRelatedFrame().equals("")) {
      eventToFire = resolveByXpath(eventable, eventToFire);
    }
    boolean isFired = false;
    try {
      isFired = browser.fireEventAndWait(eventToFire);
    } catch (ElementNotVisibleException | NoSuchElementException e) {
      if (crawlRules.isCrawlHiddenAnchors() && eventToFire.getElement() != null
              && "A".equals(eventToFire.getElement().getTag())) {
        isFired = visitAnchorHrefIfPossible(eventToFire);
      } else {
        LOG.debug("Ignoring invisble element {}", eventToFire.getElement());
      }
    } catch (InterruptedException e) {
      LOG.debug("Interrupted during fire event");
      Thread.currentThread().interrupt();
      return false;
View Full Code Here

    String newXPath = new ElementResolver(eventable, browser).resolve();
    if (newXPath != null && !xpath.equals(newXPath)) {
      LOG.debug("XPath changed from {} to {} relatedFrame: {}", xpath, newXPath,
              eventable.getRelatedFrame());
      eventToFire =
              new Eventable(new Identification(Identification.How.xpath, newXPath),
                      eventType);
    }
    return eventToFire;
  }
View Full Code Here

    CandidateCrawlAction action =
            candidateActionCache.pollActionOrNull(stateMachine.getCurrentState());
    while (action != null && !interrupted) {
      CandidateElement element = action.getCandidateElement();
      if (element.allConditionsSatisfied(browser)) {
        Eventable event = new Eventable(element, action.getEventType());
        handleInputElements(event);
        waitForRefreshTagIfAny(event);

        boolean fired = fireEvent(event);
        if (fired) {
View Full Code Here

TOP

Related Classes of com.crawljax.core.state.Eventable

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.