Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
菜单单击“通过java使用selenium webdriver不工作”_Java_Selenium Webdriver - Fatal编程技术网

菜单单击“通过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();