傳送簡訊給 Facebook 中的「名字」欄位時,可能會出現「鍵盤無法存取元素」的錯誤訊息。
發生此錯誤的原因以下面的組成部分之一:
隱藏元素:
使用JavaScript 變更元素的顯示style:
((JavascriptExecutor) driver).executeScript("arguments[0].style.display='block';", element);
疊加:
使用JavaScript將鍵傳送到目標元素:
String inputText = "Testing it"; WebElement myElement = driver.findElement(By.id("u_0_b")); String js = "arguments[0].setAttribute('value','" + inputText + "')"; ((JavascriptExecutor) driver).executeScript(js, myElement);
不正確的元素識別:
確保程式碼選擇正確的輸入欄位元素。使用動態定位器策略來處理不斷變化的元素標識符。
在Facebook 的情況下,使用透過名稱和類別定位輸入欄位的xpath 定位器:
driver.findElement(By.xpath("//input[@name='firstname' and contains(@class,'inputtext')]")).sendKeys("testing it");
FirefoxOptions options = new FirefoxOptions(); options.setCapability("moz:webdriverClick", false);Firefox 提供了一個名為moz:webdriverClick 的功能來暫時停用互動式檢查。但是,此功能將在未來版本中刪除:
以上是為什麼我的自動化腳本無法到達 Facebook 的「FirstName」欄位?的詳細內容。更多資訊請關注PHP中文網其他相關文章!