在我的Google Web Toolkit项目中,我收到以下错误:
com.google.gwt.user.client.rpc.SerializationException:类型'your.class.Type'未包含在可由此SerializationPolicy序列化的类型集中,或者无法加载其Class对象.出于安全考虑,此类型不会被序列化.
导致此错误的可能原因是什么?
我希望有一个看起来像按钮的组件,但它应该包含一个图像,而不是文本.由于标准按钮不提供此功能,我尝试使用<h:commandLink>:
<h:commandLink action="#{some_action}">
<p:panel styleClass="some_style">
<h:graphicImage value="#{some_image}">
</p:panel>
</h:commandLink>
Run Code Online (Sandbox Code Playgroud)
这不起作用.将<h:commandLink>被转换成一个<a>标签,和<p:panel>成<div>.<a>-tags可能不包含<div>-tags,因此<div>-tag会自动放在<a>-tag 之外.结果是只有图像是可点击的,而不是周围的面板,其样式看起来像一个按钮.有没有办法让周围的面板成为链接的一部分,或者将图像放在按钮内?
我的项目使用JSF和Primefaces库:
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:composite="http://java.sun.com/jsf/composite"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.prime.com.tr/ui">
Run Code Online (Sandbox Code Playgroud) 假设我的网页上有以下代码段:
<p>这是一些文字</p>
我希望WebDriver在此文本中选择"some",就像用户选择它一样.我该怎么办?我知道如何获得<p>元素:
WebElement editable = getDriver().findElement(By.id("someId"));
editable = editable.findElement(By.tagName("p"));
System.out.println(p.getText());
Run Code Online (Sandbox Code Playgroud)
println打印"这是一些文字".
我尝试向元素发送密钥,并且曾经工作(在selenium 2.0b中),但我现在使用selenium 2.6.0,它停止工作:
editable.sendKeys(Keys.chord(Keys.SHIFT, Keys.LEFT));
Run Code Online (Sandbox Code Playgroud)
有人有想法吗?我正在使用FirefoxDriver.