Selenium WebDriver C#元素不可见,无法在文本字段中输入数据

时间:2017-07-22 12:51:35

标签: c# selenium webdriver selenium-chromedriver

网站的网址为http://www.mca.gov.in/mcafoportal/viewCompanyMasterData.do 当我点击公司/ LLP名称旁边的搜索图标时,它会打开一个叠加层 使用文本输入来输入公司名称,但该元素在Selenium Webdriver C#中不可见 Here's the Screenshot of the wepPage 以下是文本字段的HTML代码

<input type="text" size="40" id="searchcompanyname" name="searchcompanyname" onkeydown="javascript: if (event.keyCode==13) return fetchCINData();">

这是我的C#代码

IWebDriver chrome = new ChromeDriver("C:\\");
        chrome.Navigate().GoToUrl("http://www.mca.gov.in/mcafoportal/viewCompanyMasterData.do");
        chrome.FindElement(By.XPath(".//*[@id='imgSearchIcon']")).Click();
        bool a = chrome.FindElement(By.CssSelector("input[type=text][name='searchcompanyname']")).Displayed;
        MessageBox.Show(""+a,"");

1 个答案:

答案 0 :(得分:1)

当您单击搜索图标时,表单和搜索输入将显示为+1秒,但在您的代码中,您在单击搜索图标后立即检查元素,这将只需几毫秒。 所以你需要在这之前等待,也许使用Thread.Sleep(2000); 或者最好继续检查元素是否每次显示 - 500毫秒。