您的位置:軟件測試 > 開源軟件測試 > 開源功能測試工具 > Selenium
C#中通過Selenium定位標(biāo)簽的問題
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時間:[ 2016/3/31 14:04:14 ] 推薦標(biāo)簽:功能測試 軟件測試

  剛才在QQ群里看到有人提問,如何實現(xiàn)退出百度登錄問題。那么之所以會有這個問題,主要是因為這個元素,如下圖所示,是無法直接定位到的:

  經(jīng)過研究發(fā)現(xiàn),要想定位到這種元素,攏共分兩步:
  第一步,把鼠標(biāo)移到能使目標(biāo)元素顯示在頁面上的前置元素上;
  第二步,通過xpath對目標(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);
}
}
}
}

軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd