Selenium无法使用xpath识别搜索框元素


WebElement SearchField = 
driver.findElement(By.xpath("/html/body/div[2]/div[3]/form/div[1]/div[1]/div[1]/div/div[2]/input"));
SearchField.sendKeys("my name");
Thread.sleep(5000);

WebElement SearchButton = 
driver.findElement(By.xpath("/html/body/div[2]/div[3]/form/div[1]/div[1]/div[3]/center/input[1]"));
SearchButton.submit(); 
Thread.sleep(3000);

driver.quit();

在上面的代码中,我试图选择谷歌网站上的搜索框并输入";我的名字";作为值。但它表示找不到xpath元素。所以我选择了";name";而不是xpath元素,它起作用了。

WebElement SearchField = driver.findElement(By.name("q"));

如何使用xpath运行此程序?

如果name运行良好,为什么要切换到xpath?

如果你使用ID, NAME, LINKTEXT, PARTIALLINKTEXT, CSSSELECTOR, CLASSNAME,最后使用XPATH:,会有很多优势

无论如何,您可以尝试xpath:

//input[@name='q']

这是一个相对的xpath。您正在使用的是绝对xpath。尽量避免这种情况。

您要查找的搜索输入元素的唯一XPath是:

//input[@name='q' and @type='text']

最新更新