Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/313.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 如何选择此按钮?_Java_Html_Selenium - Fatal编程技术网

Java 如何选择此按钮?

Java 如何选择此按钮?,java,html,selenium,Java,Html,Selenium,我正在使用Selenium来自动化网站的签出过程,但我不知道如何正确地选择这个特定元素。到目前为止,我已经尝试了以下所有方法,但没有成功: //no such element driver.findElement(By.id("Something here")).click(); //no such element driver.findElement(By.xpath("//*[@id="add-remove-buttons"]/input")).click(); //no such elem

我正在使用Selenium来自动化网站的签出过程,但我不知道如何正确地选择这个特定元素。到目前为止,我已经尝试了以下所有方法,但没有成功:

//no such element
driver.findElement(By.id("Something here")).click();
//no such element
driver.findElement(By.xpath("//*[@id="add-remove-buttons"]/input")).click();
//no such element
driver.findElement(By.name("commit")).click();
看来我最接近的是:

driver.findElement(By.className("button")).click();
使用此选项时,会出现一个错误,表示按钮不可见。看来我正朝着正确的方向前进,但我不确定接下来该怎么办。以下是按钮的HTML源代码:

<input type="submit" name="commit" value="add to cart" class="button">

不确定这是否在其中起作用,但当单击此按钮时,它会变成一个新按钮。位置相同,但颜色、文字和功能不同

如果您想亲自查看,请访问以下网站:


我尝试单击的按钮是“添加到购物车”按钮。

请尝试以下代码:

WebDriverWait wait = new WebDriverWait(driver, 10); 
WebElement button = wait.until(ExpectedConditions.elementToBeClickable(By.name("commit")));
button.click();

希望它能帮助你

你能告诉我加顿在哪里吗?谢谢你!我想知道你第一次创建一个新的WebElement是否有什么特殊的原因?或者这只是因为它很容易再次访问。@CodeSoloDolo,我添加了点击操作前的特殊等待。