小编Tki*_*ver的帖子

在 Selenium 中的特定位置打印网页

我有这个代码去谷歌并将页面转换为PDF。

# Program to go to Google and convert the page to a PDF
# But it saves in my downloads folder (I want it in a particular folder in the directory I ran this code)
from selenium import webdriver
import json

# Set up web driver
options = webdriver.ChromeOptions()
options.headless = False

options.add_argument("--kiosk-printing")

settings = {
    "recentDestinations": [{
        "id": "Save as PDF",
        "origin": "local",
        "account": "",
        'default_directory': 'folder' # This is the folder where i want to place my …
Run Code Online (Sandbox Code Playgroud)

python selenium

7
推荐指数
1
解决办法
179
查看次数

在 npm 上创建一个可用的库...使用纱线工作区

我正在寻找对我在修补时编码的模式的反馈

语境

我正在为我的公司创建一个包,该包将公开发布。DX(开发者体验)对我们来说是最重要的,为此我选择了开发的最新趋势:Typescript、esm 等......我想提出多个模块并使导入易于使用,类似到(例如)nextjs 的next/Router.

[编辑]我发现了这个线程并交叉引用以供曝光。

第一步

我从一个简单的单个包开始我的第一次尝试,tsconfig 和 src/、tests/ 和 dist/ 文件夹。那里没有什么令人难以置信的异国情调,但如果你一直这样做,你就会知道发布它会导致你的导入路径dist稍后包含。

可以使用 package.json 的main字段解决此问题,但这仅适用于顶级模块;您可以使用exports,但它不适用于 Typescript。最简单的解决方法是cp package.json dist/ && npm publish dist/,到此,问题就解决了。

然后我想为了测试这个,我将成为npm link我的 dist/ 文件夹,虚拟地创建“一个包中的包”,几乎没有问题:

  • 这部cp package.json dist/分会增长*.md,谁知道还有什么/它会如何增长(我不想有构建脚本文件)
  • 我仍然需要构建一个测试应用程序来在 DX 级别测试我的库,以及在哪里托管它?

所以我想:为什么不把它全部提升为一个 monorepo 呢?

转折点

树结构将从:

myLib/
  package.json ? build + test + publish script
  tsconfig.json
  jest.config.json
  .npmignore ? managing what to …
Run Code Online (Sandbox Code Playgroud)

npm typescript monorepo yarnpkg yarn-workspaces

5
推荐指数
0
解决办法
606
查看次数

打印网页后无头 Chrome Webdriver 问题

我有一个程序可以访问 Google,并将页面保存为 PDF(在目录中保存为 Python 文件)。太好了,但我不想打开 Chrome 窗口。通过Google搜索,我发现我可以使用options.headless = True. 但是当我将其放入代码中后,它不会打印页面。我该如何解决这个问题?代码如下:

from selenium import webdriver
import json
import os

options = webdriver.ChromeOptions()
options.headless = False  # Setting this to True won't make the page printing work

options.add_argument("--kiosk-printing")

settings = {
    "recentDestinations": [{
        "id": "Save as PDF",
        "origin": "local",
        "account": ""
    }],
    "selectedDestinationId": "Save as PDF",
    "version": 2,

}

prefs = {'printing.print_preview_sticky_settings.appState': json.dumps(settings),
         "savefile.default_directory": str(os.path.realpath('.')),
         }

options.add_experimental_option('prefs', prefs)

driver = webdriver.Chrome(executable_path="chromedriver.exe", options=options)

driver.get("https://google.com")
driver.execute_script("window.print();")
Run Code Online (Sandbox Code Playgroud)

感谢您的帮助!

〜你好世界

python selenium python-3.x selenium-webdriver

1
推荐指数
1
解决办法
2020
查看次数