|
最近遇到一个很奇怪的问题,用Selenium 的 Click()方法去点击一个按钮,实际运行却点击了另外一个按钮。
页面和HTML结构如截图。
我的实现方式是先通过FindElement(By.XPath("//*[@title='New Document']"))定位到New Document button(实际是一个link),就是那个+ 图标,再用Click()方法去点击它。
运行的时候却点击了前面的齿轮图标,HTML里面齿轮图标是title="Project Tools".一直搞不懂什么原因。
我的实现代码如下:
- BrowserDriver.Driver.SwitchTo().Frame(frame);
- BrowserDriver.Driver.FindElement(By.XPath("//*[@title='New Document']")).Click();
- string title = BrowserDriver.Driver.FindElement(By.XPath("//*[@title='New Document']")).GetAttribute("title");
复制代码
最后title获取的结果也是New Document.而且有意思的是,我尝试用@title=‘Contacts’,有时候它能点到New Document, 有时候又点到Search,太迷惑了。 |
|