私のプログラムでは、ドライバをページに挿入してタイトルを取得し、それを文字列にします。デバッグでは、driver.Titleは新しいページのタイトルですが、文字列には前のページのタイトルが含まれています。これを修正して、タイトルの付いた2番目のページを文字列に割り当てることができますか?セレンドライバ。異なる値を返す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(最初のページタイトル)と私の文字列title = null – Chase