Selenium Webdriver C# 無法在 Chrome 中找到具有有效 XPath 表达式的元素



我正在为Web应用程序编写C#的Selenium脚本,我已经成功地制作了很多脚本,但刚刚遇到了一个按钮,我无法让Selenium点击。奇怪的是,这个按钮似乎与我点击过的其他按钮没有什么不同。按钮的 HTML 为:

<button class="contact-us-button btn btn-primary pull-right" ng-click="showCancelModal()" type="button">Cancel</button>

由于此按钮没有任何唯一的 ID 或类名,并且此表单上有多个按钮,因此我尝试使用以下代码通过 Xpath 进行选择:

driver.FindElement(By.XPath("(//*[@id='mainView']/div/form/div/div/div[4]/button[1]")).Click();

我通过检查按钮并从按钮元素复制Xpath从Google Chrome获得了XPath。我也尝试用不起作用的div替换*。XPath似乎没有错误,但我不断收到以下异常

OpenQA.Selenium.InvalidSelectorException : invalid selector: T無法 使用 XPath 表达式查找元素 (//div[@id='mainView']/div/form/div/div/div[4]/button[1]

任何人都可以提供帮助,因为我不知道为什么使用此 XPath 选择元素不起作用。

我想你的 xpath 中有错别字

driver.FindElement(By.XPath("(//*[@id='mainView']/div/form/div/div/div[4]/button[1]")).Click();

更改如下,让我知道

driver.FindElement(By.XPath("//*[@id='mainView']/div/form/div/div/div[4]/button[1]")).Click();

相关内容

  • 没有找到相关文章