在我的程序中,驅動程序單擊進入一個頁面並獲取其標題並將其放入一個字符串中。在調試中,我看到driver.Title是新頁面的標題,但是該字符串包含前一頁的標題。我怎樣才能解決這個問題,並使第二頁標題分配給字符串?Selenium driver.Title返回不同的值C#
//Title == "Supreme"
driver.Navigate().GoToUrl(baseURL + "/shop/all");
driver.FindElement(By.XPath(".//*[@id='container']/article[" + num.ToString() + "]/div/a/img")).Click();
//title of this page should be Supreme: Supreme®/Schott® Shearling Bomber - Lime Green
string title = driver.Title;
//returns first title and not title of new page
您需要等待頁面加載或使用@Guy建議的標題進行有條件等待。 – lauda
根本問題是您正在單擊元素。如果你這樣做,Selenium將立即執行下一行代碼,此時下一頁尚未加載,你會得到奇怪的結果。如果你可以點擊一個元素,那麼Selenium會默認等待,直到完成加載頁面,然後再執行下一行代碼。 –
@HappyBird嗨我已經從我的xpath中刪除了/ img,但沒有出現我的程序正在等待。我可以看到它導航到下一頁,但現在driver.Title = Supreme(第一頁標題)在我的調試,我的字符串標題= null – Chase