Java thread.sleep()的替代选项-amazon selenium webdriver添加到购物车忽略保险对话框
我试图避免使用Thread.sleep(),但如果没有它,保险对话框上的“无感谢”按钮将无法单击 步骤:Java thread.sleep()的替代选项-amazon selenium webdriver添加到购物车忽略保险对话框,java,selenium-webdriver,webdriverwait,Java,Selenium Webdriver,Webdriverwait,我试图避免使用Thread.sleep(),但如果没有它,保险对话框上的“无感谢”按钮将无法单击 步骤: 在amazon.com上搜索产品 点击产品名称 在“产品详细信息”中,单击“添加到购物车” 单击“购买保险”对话框中的“无感谢”按钮 项目被添加到购物车 我已尝试按照以下步骤替换线程。sleep() 尝试隐式等待避免将预先声明的WebElement传递给ExpectedConditions函数,因为它应该可以随时用于浏览器上的WebDriver。如果出现以下情况,请尝试以下操作:- wait
尝试隐式等待避免将预先声明的WebElement传递给ExpectedConditions函数,因为它应该可以随时用于浏览器上的WebDriver。如果出现以下情况,请尝试以下操作:-
wait.until(ExpectedConditions.elementToBeClickable(By.xpath(<xpath for weblement insuranceNoThanksButton >)));
谢谢Vishal的及时帮助。第一种选择有效。非常感谢您的详细解释。@jkk26-如果答案解决了您的问题,请向上投票
wait.until(ExpectedConditions.elementToBeClickable(By.xpath(<xpath for weblement insuranceNoThanksButton >)));
((JavascriptExecutor)driver).executeScript("arguments[0].click();", insuranceNoThanksButton);