在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
刚才在QQ群里看到有人提问,如何实现退出百度登录问题。那么之所以会有这个问题,主要是因为这个元素,如下图所示,是无法直接定位到的: 经过研究发现,要想定位到这种元素,拢共分两步: 第一步,把鼠标移到能使目标元素显示在页面上的前置元素上; 第二步,通过xpath对目标标签元素进行定位。 代码如下: 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); } } } }
|
请发表评论