菜单单击“通过java使用selenium webdriver不工作”
我的代码如下,我的“生产计划”有问题,我需要能够单击“生产计划”链接,但它不起作用菜单单击“通过java使用selenium webdriver不工作”,java,selenium-webdriver,Java,Selenium Webdriver,我的代码如下,我的“生产计划”有问题,我需要能够单击“生产计划”链接,但它不起作用 List<WebElement> ddOpts = driver.findElements(By.xpath("html/body/div[4]")); ArrayList<String> links = new ArrayList<String>(); for(WebElement we : ddOpts) { //System.out.prin
List<WebElement> ddOpts = driver.findElements(By.xpath("html/body/div[4]"));
ArrayList<String> links = new ArrayList<String>();
for(WebElement we : ddOpts) {
//System.out.println(we.getText());
links.add(we.getText());
System.out.println(links);
if(we.getText().contains("Production Plan")) {
we.sendKeys("Production Plan");
we.click();
}
List ddOpts=driver.findElements(By.xpath(“html/body/div[4]”);
ArrayList links=新的ArrayList();
for(WebElement we:ddOpts){
//System.out.println(we.getText());
links.add(we.getText());
System.out.println(链接);
如果(we.getText()包含(“生产计划”)){
我们。sendKeys(“生产计划”);
we.click();
}
ddOpts列表中的WebElements不是锚定标记,而是div。我不知道页面外观如何,但您可能会想到另一个xpath。类似于:
List<WebElement> ddOpts = driver.findElements(By.xpath("html/body/div/a[4]"));
见此问题的答案:
我不明白你为什么试图
sendKeys()
但是,如果您试图单击某个链接,以下操作将起作用:
WebElement link = driver.findElement(By.PartialLinkText("Production Plan"));
link.click();
或
您还可以尝试显式等待:
new WebDriverWait(driver, 30).until(ExpectedConditions.visibilityOfElementLocated(By.PartialLinkText("Production Plan"))).click();
WebElement link = driver.findElement(By.PartialLinkText("Production Plan"));
link.click();
new WebDriverWait(driver, 30).until(ExpectedConditions.visibilityOfElementLocated(By.PartialLinkText("Production Plan"))).click();