剛才在QQ群里看到有人提問,如何實(shí)現(xiàn)退出百度登錄問題。那么之所以會(huì)有這個(gè)問題,主要是因?yàn)檫@個(gè)元素,如下圖所示,是無法直接定位到的:
	
	  經(jīng)過研究發(fā)現(xiàn),要想定位到這種元素,攏共分兩步:
	  第一步,把鼠標(biāo)移到能使目標(biāo)元素顯示在頁面上的前置元素上;
	  第二步,通過xpath對(duì)目標(biāo)標(biāo)簽元素進(jìn)行定位。
	  代碼如下:
	using System;
	using OpenQA.Selenium;
	using OpenQA.Selenium.IE;
	using OpenQA.Selenium.Interactions;
	using System.Threading;
	namespace BaiduAutoLoginOut
	{
	class Program
	{
	static void Main(string[] args)
	{
	IWebDriver iw = new InternetExplorerDriver();
	iw.Navigate().GoToUrl("http://www.baidu.com");
	IWebElement login = iw.FindElement(By.Id("s_username_top"));
	Actions action = new Actions(iw);
	action.MoveToElement(login).Build().Perform();
	WaitUntilPageLoaded(iw, "//a[text()=' 退出 ']");
	iw.FindElement(By.XPath("//a[text()=' 退出 ']")).Click();
	}
	private static void WaitUntilPageLoaded(IWebDriver iw, string v)
	{
	try
	{
	iw.FindElement(By.XPath(v));
	}
	catch (Exception ex)
	{
	Console.WriteLine(ex.ToString());
	Thread.Sleep(1000);
	WaitUntilPageLoaded(iw, v);
	}
	}
	}
	}