XPath查找元素在selenium中不起作用

时间:2016-04-07 20:45:27

标签: selenium xpath

我正在尝试使用此XPATH /html/body/div[3]/div/div/div[2]/div[2]/div/div/div[1]/form/div/input找到selenium中的元素。

我从inspect元素复制它,并复制xpath。我看到一些有相同问题的人使用“*”字符,但我不知道应该在哪里使用它。

这是html代码

<input type="text" data-bind="value: CorpItem.Name, valueUpdate: 'afterkeydown'"
                                                class="form-control" placeholder="Enter ..." required="required">

这是我在Selenium上的代码

  IWebElement corpName = driver.FindElement(By.CssSelector("/html/body/div[3]/div/div/div[2]/div[2]/div/div/div[1]/form/div/input"))

1 个答案:

答案 0 :(得分:1)

试试这个XPath

IWebElement corpName = driver.FindElement(By.XPath("/html/body/div[3]/div/div/div[2]/div[2]/div/div/div[1]/form/div/input"))

在您的代码中,您使用了XPath并将选择器作为CSS。请验证。

使用您的XPath,您的代码必须

IWebElement corpName = driver.FindElement(By.XPath("//input[@type='text'][@class='form-control']"));

如果不起作用,请尝试

export type ActionTypes = 'LOAD_USERS' | 'CREATE_USER';
export const LOAD_USERS: ActionTypes = 'LOAD_USERS';
export const CREATE_USER: ActionTypes = 'CREATE_USER';

export interface ACTION {
  type: ActionTypes;
  payload: any;
}

希望这会有所帮助。感谢