Selenium WebDriver和xpath定位在WebElement中

时间:2014-07-03 09:14:26

标签: selenium xpath

我有一个包含多个表单的页面,其中包含自己的提交按钮和其他元素。在测试页面时,我找到了第二个表单

WebElement form = getDriver().findElement(By.id("form2"));

然后按字段和提交按钮

form.findElement(By.name("text")).sendKeys("Adding some text here");
form.findElement(By.xpath("//input[@type='submit']")).click();

然而,这些xpath位置在第一个表单上生效。是否真的让xpath在指定的元素内不起作用?

2 个答案:

答案 0 :(得分:1)

尝试相对路径:

form.findElement(By.xpath(".//input[@type='submit']")).click();

答案 1 :(得分:0)

事实上,Selenium使用xpath元素找到的第一个。如果您知道确切的订单号,可以在xpath //input[@type='submit'][2]中添加这样的号码。请注意,xpath中的编号从1开始但不是0.因此,给定xpath将为您找到@type='submit'的第二个输入。