在我的程序中,驱动程序单击进入一个页面并获取其标题并将其放入一个字符串中。在调试中,我看到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