我正在使用C#,并且无法从嵌套表中获得文本框中的结算日期。你能帮我吗?
我尝试了以下操作:-
driver.FindElement(By.Id("settlementdate"))
driver.FindElement(By.Name("settlementdate"));
driver.FindElement(By.Name("//*[@id='settlementdate']");
driver.FindElement(By.Name("//input[@id='settlementdate']");
答案 0 :(得分:0)
尝试
driver.FindElement(By.Xpath("//table/tr/td/input[@id='settlementdate']");
答案 1 :(得分:0)
要找到所需的元素,因此必须为所需的ElementToBeClickable()
引入 WebDriverWait ,并且可以使用以下任一Locator Strategies:
CssSelector
:
IWebElement element = new WebDriverWait(driver, TimeSpan.FromSeconds(20)).Until(ExpectedConditions.ElementToBeClickable(By.CssSelector("table#headtable tr td input#settlementdate[name='settlementdate']")));
XPath
:
IWebElement element = new WebDriverWait(driver, TimeSpan.FromSeconds(20)).Until(ExpectedConditions.ElementToBeClickable(By.XPath("//table[@id='headtable']//tr//td//input[@id='settlementdate' and @name='settlementdate']")));
答案 2 :(得分:0)
感谢您的帮助。我已经解决了这个问题。
输入框在框架中,我使用driver.SwitchTo()。Frame()切换到框架。