我是 Selenium 和學習的新手。在 Facebook 注冊頁面上,我想點擊如下圖所示的 X,但我無法點擊它。這是一個img元素。
driver.findElement(By.xpath("//img[@src='https://static.xx.fbcdn.net/rsrc.php/v3/yC/r/Q0G2UVjVQ4_.png']")).click();

uj5u.com熱心網友回復:
所需的元素是一個<img>標簽,它是preceding-sibling一個<div>標簽的直接祖先,其<div>文本為Sign Up

解決方案
要在元素上單擊(),您需要為elementToBeClickable()誘導WebDriverWait,您可以使用以下任一定位器策略:
路徑:
new WebDriverWait(driver, Duration.ofSeconds(10)).until(ExpectedConditions.elementToBeClickable(By.xpath("//div[text()='Sign Up']//ancestor::div[1]//preceding-sibling::img[1]"))).click();
uj5u.com熱心網友回復:
您可以使用 XPathXpath = //img[@class = '_8idr img']單擊該圖示,您的案例示例代碼將如下所示
注意:-在驅動程式實體上使用隱式等待,或者您可以使用顯式等待此特定元素等待直到可點擊。
driver.get("https://www.facebook.com/");
driver.findElement(By.xpath("//a[contains(text(),'Create New Account')]")).click();
driver.findElement(By.xpath("//img[@class = '_8idr img']")).click(); // To click on the cross icon in sign Up page
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/471178.html
上一篇:Python&Selenium:如何避免來自divide.com的StaleElementReferenceException錯誤
