我想在selenium webDriver中找到一个按钮。我在查找包含使用xpath的空格的元素文本时遇到问题

时间:2013-07-19 01:56:34

标签: xpath selenium webdriver selenium-webdriver

这是HTML:

<a class="editorButton" href="javascript:validateAndSubmit(document.form,'/Dispatcher?page=ExpressReqEditor&element=Submit&sig=R2pneG9IbTVSaFh0MEo4ZWFEQkxlUWZpQkhjPTtORFpsWVRNeE56UXRaamt3TkMwMFpqaGpMV0kxWlRZdE5ESXpOREJpWVRSbU5EQmk7cGFnZTtlbGVtZW50');">  submit  </a>

我已经尝试过所有我无法想到的事情。我能找到它的唯一方法是通过它的xpath:

html/body/form/table/tbody/tr/td/table/tbody/tr[52]/td[2]/a[3] >

以下是我的尝试:

driver.findElement(By.xpath("//a[contains(text(), ' Submit ')]")).click(); 
driver.findElement(By.xpath("//a[contains(.,' Submit ')]")).click(); 
driver.findElement(By.xpath("//a[contains(normalize-space(.),' Submit ')]")).click(); 
driver.findElement(By.xpath("//a[contains(normalize-space(.),'Submit')]")).click(); 
driver.findElement(By.xpath("//a[contains(text(), '&nbsp&nbspsubmit&nbsp&nbsp')]")).click(); 
driver.findElement(By.xpath("//a[contains(text(), ' submit ')]")).click();

任何帮助都会很棒

1 个答案:

答案 0 :(得分:4)

带有class名称和部分href的xpath怎么样?

driver.findElement(By.xpath("//a[@class='editorButton' and contains(@href, 'javascript:validateAndSubmit')]")).click();

另请注意,XPath区分大小写,您的示例代码段混合了Submitsubmit,这可能会有问题,您可能需要仔细检查您想要哪一个。