2016-11-28 52 views
0

我想点击导出(下载按钮),然后确认我下载, 我想期待绿色文字显示页面上(对于3-仅4秒)。当按钮点击后,预计文本显示,但它无法找到的元素 - 量角器

而且它下载文件,但我认为这种方式是不是搜索文件更容易,更好。

这是代码,我做的点击和期待

productDashboardPageObject.element(by.css('[aria-label="file_download"]')).click();    
expect(element(by.css('.md-flex md-body-l flex')).isDisplayed()).toBeTruthy(); 

这是在下载之前,导出按钮靠近过滤器:

this is before downloading, export button is near filters:

当我点击导出按钮,1后第二,绿色警告来了: when i click that export button, after 1 second, that green warning comes:

这是html的t帽子书面警告:(出现只有几秒钟) this is html of that writing warning:

,但我得到的错误:

Message: Failed: No element found using locator: By.cssSelector(".md-flex md-body-l flex") Stack: NoSuchElementError: No element found using locator: By.cssSelector(".md-flex md-body-l flex") at process._tickCallback (internal/process/next_tick.js:103:7) Error

回答

3

cssSelector您使用不正确。尝试使用下面的定位器代替,

element(by.css(".md-flex.md-body-l.flex")) 
+0

失败:未找到使用定位符的元素:By.cssSelector(“.md-flex.md-body-l.flex”) – mark

+0

单击导出按钮后添加'browser.wait()',直到显示警告提醒。 –

+0

我得到了失败:FN不是browserwait – mark

0

我会尝试使用“Elementor”Chrome插件来获取量角器的确切位置。检查一行自动化代码而不必一直执行所有内容,以防万一不确定某个元素定位器时,这也很有用。 您可以在这里查看下载和说明:https://github.com/andresdominguez/elementor

在启动之前,请确保首先启动独立的selenium webdriver。 通过控制台启动元素或链接到网站 - > Chrome将打开。 复制选项卡(否则插件将崩溃),并在第二个选项卡中打开Chrome DevTools Elements面板,您会在“样式”窗格旁找到“量角器”。 导航到您需要查找定位器的页面,并选择该元素。您将看到“量角器”窗格中显示的定位器。

1

使用by.css('.md-flex.md-body-l.flex')应该工作。 您可能有一些同步问题。调试时可以尝试添加睡眠,以确保它是您想要的定位器。但我会避免使用等待和睡眠。在点击它之前,使用隐式等待来实际等待元素。

我也可以避免具有定位器通过使用从相同的元件(.class1.class2.class3)多个类被取出。如果某些类被重命名/删除,它可能非常脆弱。

+0

功能 我得到了失败:FN不是browserwait功能 – mark