用户输入生成没有结果的空白文件



我正在使用Selenium来获取网站的屏幕截图以安全地查看它们。

我找到并调整的原始代码是这样的并且有效。

from selenium import webdriver
br = webdriver.PhantomJS()
br.get('http://www.google.com')
br.save_screenshot('screenshot.png')
br.quit

它为您提供了网站的屏幕截图

我想获得用户输入,这样我就不会有VI文件加班,我需要URL的屏幕截图,这也是我更改代码的原因。

#!/usr/bin/python
import re
import sys
from selenium import webdriver
br = webdriver.PhantomJS()
br.get_user_input =raw_input('Enter URL:')
br.save_screenshot('screenshot.png')
br.quit

现在它要求URL,您在程序运行和完成中输入它,甚至创建屏幕截图.png文件,但它是空白的

尝试使用Chrome Canary(如果您需要无头浏览器(。 你不必使用硒。

make_screen = '''#!/usr/bin/env bash
test -f ./chrome-linux/chrome && echo "chrome exists" || unzip chrome-linux.zip
./chrome-linux/chrome --headless --disable-gpu --virtual-time-budget=7000 --hide-scrollbars --screenshot=dir/screens/{screen_prod}.png --window-size=1200,2000 {link_prod}'''.format(screen_prod = screen_prod, link_prod = link_prod)

以下是您问题的答案:

您的代码中有一个小错误。您没有使用WebDriver实例调用get()方法br

作为解决方案,(为了避免Law of Demeter(我将这一行一分为二。将用户url作为第一行的输入。在下一行中,将url作为参数传递给get()方法。接下来,它会拍摄适当的快照并将其保存在Screenshots子目录中。这是工作代码块:

from selenium import webdriver
br = webdriver.PhantomJS(executable_path="C:\Utility\phantomjs-2.1.1-windows\bin\phantomjs.exe")
user_input = input('Enter URL : ')
br.get(str(user_input))
br.save_screenshot('./Screenshots/my_next_screenshot.png')
br.quit

我的控制台上的输出是:

Enter URL : http://google.com
Process finished with exit code 0

让我知道这是否回答了您的问题。

相关内容

  • 没有找到相关文章

最新更新