我在这里很困惑。我无法点击按钮。也许它在不同的框架上。但是当我试图使用switch语句时,我得到一个错误,没有找到这样的帧。如果我通过点击按钮直接运行我的代码,我会发现错误: - 无法找到元素:// * [@ id =' dutch_popupBtn']
HTML是: -
//driver.switchTo().frame("active_auctions");
driver.findElement(By.xpath("//*[@id='dutch_popupBtn']")).click();
System.out.println("test");
我的代码是: -
Exception in thread "main" org.openqa.selenium.NoSuchElementException: Unable to locate element: //*[@id='dutch_popupBtn']
错误是: -
UIApplication.shared.registerForRemoteNotifications()
任何人都可以帮我点击投标按钮。 这将非常有帮助。
答案 0 :(得分:2)
根据您分享的HTML和代码尝试,我看不到 name / id 提供的任何框架为 active_auctions ,但是找到id
为 dutch_popupBtn 的元素,您需要按如下方式引导 WebDriverWait :
new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//td[@class='active_purchase actionIcons']//a[@id='dutch_popupBtn' and @title='Place Bid']/i"))).click();
根据您的评论更新,因为您发现重点放在元素上而不是点击,您可以使用executeScript()
方法,如下所示:
WebElement myElement = new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//td[@class='active_purchase actionIcons']//a[@id='dutch_popupBtn' and @title='Place Bid']/i")));
driver.execute_script("arguments[0].click();", myElement)