如何使用php和chrome驱动程序V95.0与shadow DOM元素进行交互,以便使用selenium 4.x获取file.pdf,

qyswt5oh  于 2022-11-24  发布在  PHP
关注(0)|答案(1)|浏览(110)

更好地解释:我正在自动颁发在iframe中生成的证书
通过selenium网格,我设法进入最后一个屏幕,其中pdf为x1c 0d1x。我尝试使用window.print打印屏幕,运行javascript,我看到打印窗口,但无法继续:

$this->driver->executeScript("window.print()");




document.querySelector('pdf-viewer').shadowRoot.querySelector('viewer-toolbar').shadowRoot.querySelector('viewer-download-controls').shadowRoot.querySelector('cr-icon-button').click();//this work in browser, nope with selenium

从我所处的位置来看,我认为可能有一些方法可以解决问题,但我尝试过,但没有取得任何进展:

  • windows.print()之后,
    • 按o键回车,也许(两次)、
    • 点击保存按钮
  • 可能使用键盘control + skey enter
  • 右键单击,将页面另存为,确认
  • 可能使用control + p
  • 也许使用鼠标点击箭头向下下载,但我没有找到元素,或不知道如何使用鼠标坐标
  • 设置首选项/功能的浏览器时,窗口。打印()不显示我喜欢的地方保存我的pdf我也尝试设置一个首选项我也尝试了$this->driver->getPageSource();

(2)将所有的参数都添加到文件中。
我找到了here,但不确定它是否工作或如何使用它。

<iframe src="asintegrarelatorio?UGsAuJNIMg0Bs79efCz_UN+WLY3wJLa3shybBaN2MhtwcBuQ28HYLHZjlWoShKh3akHt0HZM3+pL7TP3ksZMQQ==" name="EMBPAGE" width="900px" height="500px" frameborder="1" align="center" title="" style="" scrolling="auto">
<html><head><script src="chrome-extension://mooikfkahbdckldjjndioackbalphokd/assets/prompt.js"></script></head><body style="height: 100%; width: 100%; overflow: hidden; margin:0px; background-color: rgb(82, 86, 89);"><embed name="C065A881B0E7E51799DF65DCF351573F" style="position:absolute; left: 0; top: 0;" width="100%" height="100%" src="about:blank" type="application/pdf" internalid="C065A881B0E7E51799DF65DCF351573F"></body></html>

</iframe>
2ledvvac

2ledvvac1#

如果您想在一个文件中打印一个文件,请点击这里。“)')

相关问题