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']