Selemium无法在网站上找到元素

问题描述 投票:-3回答:2

我正在使用C#,但无法从嵌套表中获得文本框中的结算日期。您能帮我吗?

我尝试了以下操作:-

driver.FindElement(By.Id("settlementdate"))
driver.FindElement(By.Name("settlementdate"));
driver.FindElement(By.Name("//*[@id='settlementdate']");
driver.FindElement(By.Name("//input[@id='settlementdate']");

See below for the html code on the website

c# selenium-webdriver xpath css-selectors webdriverwait
2个回答
0
投票

尝试driver.FindElement(By.Xpath("//table/tr/td/input[@id='settlementdate']");


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']")));
    
© www.soinside.com 2019 - 2024. All rights reserved.