如何滚动Selenium Java中iframe内部的PDF

时间:2018-11-20 04:08:43

标签: java selenium xpath iframe css-selectors

这是

下文档位置的标记
<iframe height="900" width="100%" src="/attachments/download/Attachment.pdf" title="document"/>

1 个答案:

答案 0 :(得分:0)

内联框架是一种将文档嵌入HTML文档中的结构,以便将嵌入的数据显示在浏览器窗口的子窗口中。这并不意味着完全包含并且两个文档是独立的,并且它们都被视为完整文档,而不是将一个文档视为另一个文档的一部分。

您可以在Ways to deal with #document under iframe中找到详细的讨论。

现在,按照最佳做法,您必须切换到 iframe

  • 诱导 WebDriverWait 以使所需的框架可用并切换到,您可以使用以下任一解决方案:

    • 使用cssSelector

      new WebDriverWait(driver, 10).until(ExpectedConditions.frameToBeAvailableAndSwitchToIt(By.cssSelector("iframe[src='/attachments/download/Attachment.pdf'][title='document']")));
      
    • 使用xpath

      new WebDriverWait(driver, 10).until(ExpectedConditions.frameToBeAvailableAndSwitchToIt(By.xpath("//iframe[@src='/attachments/download/Attachment.pdf' and @title='document']")));
      

一旦切换到正确的<iframe>,您就可以滚动以及与<iframe>

中的任何元素进行交互
相关问题