我试图从web页面中提取所有输入字段及其标题和元素详细信息,并将它们放在HashMap中,以便稍后在JUnit测试中使用,如
accountDetails.chooseField("Date of Birth");
accountDetails.changeValueTo(dateOfBirth);
<tbody>
<tr>
<tr class="subtitle">
<tr>
<tr class="subtitle">
<tr>
<tr class="subtitle">
<tr>
<tr>
<td class="caption">Staff Member</td>
<td>
<input id="StaffMember" type="text" maxlength="6" size="6" value="" name="StaffMember">
</td>
<tbody>
这就是提取类:
public class AccountDetails {
WebDriver driver;
WebElement accountDetailsTable;
WebElement radioButton;
HashMap<String, WebElement> fields = new HashMap<String, WebElement>();
WebElement addCustomerButton;
public AccountDetails(WebDriver driver) {
this.driver = driver;
driver.switchTo().defaultContent();
driver.switchTo().frame(driver.findElement(By.name("officePane")));
driver.switchTo().frame(driver.findElement(By.name("MainArea")));
accountDetailsTable = driver.findElement(By.tagName("tbody"));
addCustomerButton = accountDetailsTable.findElements(By.className("btn_def")).get(0);
List<WebElement> tr = accountDetailsTable.findElements(By.tagName("tr"));
for (WebElement el : tr) {
List<WebElement> td = el.findElements(By.tagName("td"));
if (td.size() > 0) {
fields.put(td.get(1).getText(), td.get(0).findElement(By.tagName("input")));
}
}
}
为了捕捉所有输入,我通常这样做:
List<WebElement> inputList = driver.findElements(By.xpath("//input"));
在你这样使用之后(愚蠢的例子:d):
void showInputValue (List<WebElement> c) {
for (WebElement e : c){
Systeme.println(e.getAttribute("value"));
}
}
我试图引用并单击网页上的元素。 我们应该能够使用简单的XPath进行引用。例如 然而,这似乎并不奏效。 我使用的chrome扩展表示该元素不存在。 我的代码找不到元素。 下面是我使用Selenium web驱动程序的Java代码。 以下是错误: 太奇怪了!关于为什么我不能引用元素,或者为什么xPath不exist的任何想法。
我正在尝试采取一些分数从网站,而使用WebDriver。到目前为止我尝试了XPath,CSS,Classname,但是,有时它定位项目,有时它不定位。 这是我一直试图带它的HTML代码: 这是我的代码(到目前为止我已经尝试过了): 其他版本: 并且我也尝试了子类(在score classes下),但结果是一样的,有时可以定位元素,有时不能。 有什么建议吗? 更新:在我的代码中,我放了一些或仍然不能
我正在使用Selenium导航一个网页,该网页有一个名为“mail”的链接,使用WebDriver(最近刚从RC切换到WebDriver)。我想单击该链接,但testcase总是失败,出现错误: 我可以看到元素出现在屏幕上,但测试用例仍然失败。 有没有人知道我在这里可能缺少什么或者找到链接元素的替代方法?
我的应用程序中有一个,当我单击它时,它就会被启用。我可以使用CSS点击,但我不能输入文本时,它得到突出显示。
我对selenium WebDriver非常陌生,我试图自动化一个页面,它有一个名为“删除日志文件”的按钮。使用FireBug我了解到,HTML被描述为 css选择器也使用firepath定义为“#DeletelogButton” 请帮助我解决这个问题。
我在运行下面的代码时遇到“无法定位元素”异常。我的预期输出是的第一页。 如果我运行上面的代码,我会得到“无法定位元素异常”。我知道前面的Button元素不在Google搜索结果页面的第一页中,但是我想要抑制异常并获得下一步条件的输出。