如何通过css获取元素的pdf图标,量角器测试

如何通过css获取元素的pdf图标,量角器测试,css,angularjs,protractor,Css,Angularjs,Protractor,我在锚定标签中有一个pdf图像。我需要获取元素,然后单击pdf链接。尝试按Id使用元素,但得到的元素不可见,但它是可见的。请帮助通过css获得元素,在这方面已经做了将近2天 <div class="az content-block"> <ol> <li>{{'check.ant.label'|text}}</li> <li>{{'check.bed

我在锚定标签中有一个pdf图像。我需要获取元素,然后单击pdf链接。尝试按Id使用元素,但得到的元素不可见,但它是可见的。请帮助通过css获得元素,在这方面已经做了将近2天

<div class="az content-block">

            <ol>
                <li>{{'check.ant.label'|text}}</li>
                <li>{{'check.bed.label'|text}}</li>
                <li>{{'check.hin.label'|text}}<a id="checkPdfLink" ng-href="{{check.pdf}}" target="_blank"><span class="az icon-pdf"></span></a></li>
            </ol>
</div>

  • {{'check.ant.label'| text}}
  • {{'check.bed.label'| text}}
  • {{'check.hin.label'| text}}

  • 您是否尝试使用css选择器?如果很难找到唯一的ID,请尝试右键单击pdf链接的inspect元素,然后单击Copy unique Selector并尝试单击它

    element(by.css('paste your Unique Selector here')).click();
    
    希望这有帮助。:)


    您是否尝试使用css选择器?如果很难找到唯一的ID,请尝试右键单击pdf链接的inspect元素,然后单击Copy unique Selector并尝试单击它

    element(by.css('paste your Unique Selector here')).click();
    
    希望这有帮助。:)


    在一个简单的例子中,这只是:

    element(by.id("checkPdfLink")).click();
    
    但是,由于出现“Element not visible”错误,可能有几个原因。首先,您可能需要实际执行一些操作以使元素可见—打开菜单或下拉菜单。另一个原因可能是时间问题。等待指向的链接,然后单击:

    var EC = protractor.ExpectedConditions;
    var pdfLink = element(by.id("checkPdfLink"));
    browser.wait(EC.elementToBeClickable(pdfLink), 5000);  // wait up to 5 seconds
    
    pdfLink.click();
    

    在一个简单的例子中,这只是:

    element(by.id("checkPdfLink")).click();
    
    但是,由于出现“Element not visible”错误,可能有几个原因。首先,您可能需要实际执行一些操作以使元素可见—打开菜单或下拉菜单。另一个原因可能是时间问题。等待指向的链接,然后单击:

    var EC = protractor.ExpectedConditions;
    var pdfLink = element(by.id("checkPdfLink"));
    browser.wait(EC.elementToBeClickable(pdfLink), 5000);  // wait up to 5 seconds
    
    pdfLink.click();
    


    尝试此操作无效获取元素不可见错误,但pdf可见。元素(by.css('.az.icon pdf');你确定。az.icon-pdf是你拥有的唯一选择器吗?您是通过右键单击pdf的inspect元素获得的吗?因为,大多数情况下,这种方法对我有效。:)你能添加你的应用程序的图像吗?因此,我可以提供更多帮助。:)图像只是一个pdf图标imageOk。告诉我您是如何获得图像的css选择器的。:)尝试此操作无效获取元素不可见错误,但pdf可见。元素(by.css('.az.icon pdf');你确定。az.icon-pdf是你拥有的唯一选择器吗?您是通过右键单击pdf的inspect元素获得的吗?因为,大多数情况下,这种方法对我有效。:)你能添加你的应用程序的图像吗?因此,我可以提供更多帮助。:)图像只是一个pdf图标imageOk。告诉我您是如何获得图像的css选择器的。:)现在,它在5秒后超时。它无法获取元素alecxe。@user1645290然后,元素不可单击/可见。这可能有多种原因。你确定你在点击链接之前做了所有事情以使链接真正可点击/可见吗?打开必要的菜单,下拉,例如?当我们加载html时,它只是一个pdf图标,可以直接看到。如果你能看到上面的代码,我正在尝试单击锚定标记中的pdf。@user1645290快速检查-如果你在测试开始时将
    browser.driver.manage().window()
    -这有什么区别吗?它不起作用。我在这里有一个疑问,实际上pdf图标是通过css类生成的,然后可以使用锚定标记单击pdf图标,因此我们是否需要获取pdf图标的元素或锚定链接Id来单击。现在它在5秒后超时。无法获取元素alecxe。@user1645290,元素不可单击/不可见。这可能有多种原因。你确定你在点击链接之前做了所有事情以使链接真正可点击/可见吗?打开必要的菜单,下拉,例如?当我们加载html时,它只是一个pdf图标,可以直接看到。如果你能看到上面的代码,我正在尝试单击锚定标记中的pdf。@user1645290快速检查-如果你在测试开始时将
    browser.driver.manage().window()
    -这有什么区别吗?它不起作用。我在这里有一个疑问,实际上pdf图标是通过css类生成的,然后pdf图标将可以使用锚标记单击,因此我们是否需要获取pdf图标的元素或锚链接Id来单击。