当前位置: 首页>>代码示例>>Java>>正文


Java HtmlTable类代码示例

本文整理汇总了Java中com.gargoylesoftware.htmlunit.html.HtmlTable的典型用法代码示例。如果您正苦于以下问题:Java HtmlTable类的具体用法?Java HtmlTable怎么用?Java HtmlTable使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


HtmlTable类属于com.gargoylesoftware.htmlunit.html包,在下文中一共展示了HtmlTable类的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: statusesInTable

import com.gargoylesoftware.htmlunit.html.HtmlTable; //导入依赖的package包/类
private static List<AvailableItemStatus> statusesInTable(HtmlTable table) {
	ArrayList<AvailableItemStatus> result = new ArrayList<AvailableItemStatus>();
	int statusCol = -1;
    int rowId = 0;
    for(final HtmlTableRow row : table.getRows()) {
    	int colId = 0;
    	for(final HtmlTableCell cell : row.getCells()) {
 			if(rowId == 0) {
    			if(cell.asText().trim().equalsIgnoreCase("status")) {
    				statusCol = colId;
    				break;
    			}
    		} else {
	    		if(colId == statusCol) {
	    			result.add(AvailableItemStatus.findOrCreate(cell.asText().trim()));
	    		}
    		}
    		++colId;
    	}
    	++rowId;
    }
    return result;
}
 
开发者ID:bbloomf,项目名称:cincinnati-library-auto-renew,代码行数:24,代码来源:LibraryRenewer.java

示例2: getBooking

import com.gargoylesoftware.htmlunit.html.HtmlTable; //导入依赖的package包/类
private List< Meeting > getBooking( User user, String uri ) throws Exception
{
    List< Meeting > bookings = new ArrayList< Meeting >();
    HtmlPage page = navigateToPage( user, uri, false );

    logger.debug( "Page loaded" );
    HtmlTable table = (HtmlTable)page.getByXPath( ".//*[@id='Grid']/table" ).get( 0 );
    List< HtmlTableRow > rows = table.getRows();

    logger.debug( "Retriving information for " + uri );
    for( HtmlTableRow htmlTableRow : Iterables.skip( rows, 1 ) )
    {
        Meeting meeting = new Meeting();

        String asText = htmlTableRow.asText();
        String[] split = asText.split( "\t" );
        if( split.length <= 1 )
        {
            return bookings;
        }
        meeting.setRoom( split[0].trim() );
        String bookingDate = split[1].trim();
        DateFormat format = new SimpleDateFormat( "MM/dd/yyyy", Locale.ENGLISH );
        meeting.setDate( format.parse( bookingDate ) );

        String bookingTime = split[2].trim();
        String[] timeArray = bookingTime.split( "-" );
        meeting.setFromTime( timeArray[0].trim() );
        meeting.setToTime( timeArray[1].trim() );

        meeting.setReason( split[3].trim() );
        if( uri.equals( SHOW_ALL_BOOKINGS ) )
        {
            meeting.setAttendees( Arrays.asList( split[4].trim() ) );
        }
        else
        {
            String meetingId = getMeetingId( htmlTableRow );
            meeting.setMeetingId( meetingId );
        }
        bookings.add( meeting );
    }
    return bookings;
}
 
开发者ID:Vedang18,项目名称:ProBOT,代码行数:45,代码来源:Bookie.java

示例3: itemStatus

import com.gargoylesoftware.htmlunit.html.HtmlTable; //导入依赖的package包/类
public static int itemStatus(String url, Integer expectedResult) throws FailingHttpStatusCodeException, MalformedURLException, IOException {
	java.util.logging.Logger.getLogger("com.gargoylesoftware.htmlunit").setLevel(java.util.logging.Level.OFF);
	final WebClient webClient = new WebClient();
	try {
		int result = 1;
		boolean hasHolds = false;
		StringBuilder sb = new StringBuilder(String.format("url: %s\n", url));
	    webClient.getOptions().setThrowExceptionOnScriptError(false);
		webClient.getOptions().setPrintContentOnFailingStatusCode(false);
		HtmlPage page = webClient.getPage(url);
		HtmlElement document = page.getDocumentElement();
		DomElement titleElem = page.getElementById("bibTitle");
		if(titleElem != null) {
			sb.append(String.format("title: %s\n", titleElem.asText().trim()));
		}
		List<HtmlElement> dpBibHoldingStatement = document.getElementsByAttribute("div", "class", "dpBibHoldingStatement");
		List<HtmlElement> holdsMessage = document.getElementsByAttribute("div", "class", "holdsMessage");
	    List<HtmlElement> itemsAvailable = document.getElementsByAttribute("span", "class", "itemsAvailable");
	    List<HtmlElement> itemsNotAvailable = document.getElementsByAttribute("span", "class", "itemsNotAvailable");
	    List<HtmlElement> allItemsTable = document.getElementsByAttribute("div", "class", "allItemsSection");
	    if(!allItemsTable.isEmpty()) {
	    	allItemsTable = allItemsTable.get(0).getElementsByAttribute("table", "class", "itemTable");
	    }
	    List<HtmlElement> availableItemsTable = document.getElementsByAttribute("div", "class", "availableItemsSection");
	    if(!availableItemsTable.isEmpty()) {
	    	availableItemsTable = availableItemsTable.get(0).getElementsByAttribute("table", "class", "itemTable");
	    }
	    if(!dpBibHoldingStatement.isEmpty()) {
	      sb.append(String.format("dpBibHoldingStatement: %s\n", dpBibHoldingStatement.get(0).asText()));
	    }
	    if(!holdsMessage.isEmpty()) {
	      hasHolds = true;
	      sb.append(String.format("holdsMessage: %s\n", holdsMessage.get(0).asText()));
	    }
	    if(!itemsAvailable.isEmpty()) {
	      sb.append(String.format("itemsAvailable: %s\n", itemsAvailable.get(0).asText()));
	    }
	    if(!itemsNotAvailable.isEmpty()) {
	      sb.append(String.format("itemsNotAvailable: %s\n", itemsNotAvailable.get(0).asText()));
	    }
	    if(itemsAvailable.isEmpty() && itemsNotAvailable.isEmpty()) {
	    	// unknown state...has the page changed?
	    	email(null, "Problem with item status", String.format("This url %s contained neither span.itemsAvailable nor span.itemsNotAvailable", url));
	    }
	    List<AvailableItemStatus> availableStatuses = null;
	    if(!availableItemsTable.isEmpty()) {
	        availableStatuses = statusesInTable((HtmlTable)availableItemsTable.get(0));
	        boolean canBePutOnHold = false;
	        for(AvailableItemStatus s : availableStatuses) {
	        	if(s.canBePutOnHold) {
	        		canBePutOnHold = true;
	        		break;
	        	}
	        }
	        result = canBePutOnHold? 1 : (hasHolds? 0 : 1);
	    } else if(!itemsNotAvailable.isEmpty()) {
	    	result = hasHolds? 0 : 1;
	    }
	    System.out.println(sb.toString());
	    if(expectedResult != null && expectedResult != result) {
	    	if(result == 1) {
	    		email(null, "Item failed to renew, but according to itemStatus() it should have succeeded.", page.asXml());
	    	}
	    }
	    return result;
	} finally {
		webClient.close();
	}
}
 
开发者ID:bbloomf,项目名称:cincinnati-library-auto-renew,代码行数:70,代码来源:LibraryRenewer.java


注:本文中的com.gargoylesoftware.htmlunit.html.HtmlTable类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。