我有一个包含多个表单的页面,其中包含自己的提交按钮和其他元素。在测试页面时,我找到了第二个表单
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在指定的元素内不起作用?
答案 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'
的第二个输入。