在硒中找不到“登录”按钮

时间:2018-07-24 20:34:22

标签: selenium-webdriver selenium-chromedriver

我的代码如下:

this.$forceUpdate()

错误是:

SyntaxError:无法在'Document'上执行'evaluate':字符串'.//*[/html/body/div[4]/div/form/div[3]/div[2]/button' ]”是无效的XPath表达式。enter image description here

请让我知道,我该如何自动化?

3 个答案:

答案 0 :(得分:0)

driver.findElement(By.xpath("/html/body/div[4]/div/form/div[3]/div[2]/button")).click();

[]用于条件。示例:

driver.findElement(By.xpath("/html/body/table/tbody/tr[contains(., 'bla')]"));

./或.//用于查找元素的子元素。示例:

var RcdRow = driver.findElement(By.xpath("/html/body//tr"));
var RcdTd = RcdRow.findElement(By.XPath(".//td[3]"));

答案 1 :(得分:0)

在代码中,“按钮”后面有一个额外的引号。此外,。// *用于相对路径,因此,由于您正在使用按钮元素的绝对路径,因此在此不必使用它。

答案 2 :(得分:0)

首先,我建议您选择基于相对的Xpath而不是基于绝对的Xpath。  在下面使用它:

driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS); 
driver.findElementByXpath("//button[starts-with(@type,'submit')]")).click(); 

您保留了。在'//'之前,这不是必需的,如果这样不起作用,则可以知道。