4 回答

TA貢獻2041條經驗 獲得超4個贊
嘗試在您的代碼中添加顯式等待,即僅在文本可見時才在字段中輸入文本。嘗試以下代碼:
WebDriverWait wait=new WebDriverWait(driver, 20);
WebElement Login = driver.findElement(By.className("flex-signup"));
Login.click();
//WebElement EmailAdd = driver.findElement(By.id("emailAddress"));
//WebElement EmailAdd = Driver.findElement(By.id("****"));
WebElement EmailAdd=wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("****"));
EmailAdd.sendKeys("************");
WebElement Passwd = wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("****"));
Passwd.sendKeys("*******");
然后點擊Login按鈕

TA貢獻1784條經驗 獲得超8個贊
Login.click 執行后會發生什么?如果登錄表單需要一些時間來呈現(即使 30 毫秒也可能很重要),那么您應該等待!否則驅動程序將立即嘗試發送密鑰憑據(即使登錄表單尚未準備好獲取輸入數據),因此一些第一個符號可能會丟失。
PS 我知道我可能會犯一些嚴重的語法錯誤,對此深表歉意。

TA貢獻1111條經驗 獲得超0個贊
嘗試不同的瀏覽器,如 Firefox、chrome 和 opera。
WebDriver firefox=new FirefoxDriver() //for 火狐
WebDriver chrome=new ChromeDriver();//對于 chrome。
試試看。

TA貢獻1831條經驗 獲得超10個贊
我認為您忘記了登錄過程中的一個步驟。
下面是我認為大多數登錄過程的樣子。
找到 ID Box 并發送鑰匙
找到 PW Box 并發送密鑰
找到登錄按鈕并單擊/發送“輸入密鑰”和 PW 發送密鑰。
你的看起來像這樣。
點擊登錄(?)
查找 WebElement 電子郵件添加
查找 WebElement EmailAdd (x2)(使用不同的驅動程序調用)
將密鑰發送到 EmailAdd
查找 WebElement 密碼
將密鑰發送到 Passwd
添加回答
舉報