webdriver C# - 单击具有 XPath 位置的此元素?

webdriver C# - click this element with XPath position?

我有一个具有此 XPath 位置的元素:

//td[4]/a

我尝试了这个但不起作用:

            driver.FindElement(By.XPath(".//*[@position='//td[4]/a']")).Click();

请使用 C# Webdriver 而不是 java。

我试过了,效果很好:

driver.FindElement(By.XPath(".//td[4]")).Click();

你不应该使用:

river.FindElement(By.XPath("//td[4]/a")).Click();

? 如果您有类似的问题。可以在Chrome的开发者工具中使用Console,这样写:

$x("YOUR XPATH HERE")

这将导致您的元素。如果不是这样,那么你的 Xpath 是错误的。

编辑:如果您想知道元素的 XPath。转到开发人员工具 -> 元素 -> 用放大镜单击你的元素 -> 右键单击​​ Html 代码 -> 单击 "Copy Xpath" 对于 FireFox 使用:FirePath

在回答您关于如何点击第二个按钮(如果它具有相同的 XPath)的问题时,您可以这样做。

var buttons = Driver.FindElements(By.XPath("//td[4]/a"));
buttons[0].Click();
buttons[1].Click();

注意 FindElements 的复数形式。