标签: webautomation

如何使用Python登录网站?

我该怎么做?我试图输入一些指定的链接(使用urllib),但要做到这一点,我需要登录.

我从该网站获得此来源:

<form id="login-form" action="auth/login" method="post">
    <div>
    <!--label for="rememberme">Remember me</label><input type="checkbox" class="remember" checked="checked" name="remember me" /-->
    <label for="email" id="email-label" class="no-js">Email</label>
    <input id="email-email" type="text" name="handle" value="" autocomplete="off" />
    <label for="combination" id="combo-label" class="no-js">Combination</label>
    <input id="password-clear" type="text" value="Combination" autocomplete="off" />
    <input id="password-password" type="password" name="password" value="" autocomplete="off" />
    <input id="sumbitLogin" class="signin" type="submit" value="Sign In" />
Run Code Online (Sandbox Code Playgroud)

这可能吗?

python automation httpclient webautomation

77
推荐指数
7
解决办法
22万
查看次数

无头互联网浏览器?

我想做以下几点.登录网站,单击几个特定链接,然后单击下载链接.我想将它作为Windows上的计划任务或Linux上的cron作业运行.我对我使用的语言并不挑剔,但我希望如果可能的话,不要在屏幕上放置浏览器窗口.

automation webautomation headless-browser

69
推荐指数
3
解决办法
7万
查看次数

Windows机器上的网站自动登录脚本?

我看到有人有一个文件(我猜一个批处理文件).在单击批处理文件时,他能够登录到多个站点.(也许它是用VB完成的.)

我在Google上找了这样一个脚本,但没有找到任何有用的东西.

我知道一些C++和UNIX(也有一些HTML和JavaScript).我不知道是否可以在使用这些语言的Windows机器上完成,但即使可以完成,我认为与VB或C##或其他一些高级语言相比也很困难.

我学会了如何使用批处理文件中包含的基本Windows批处理命令打开多个站点,如:

start http://www.gmail.com
start http://stackoverflow.com
Run Code Online (Sandbox Code Playgroud)

但我仍然无法弄清楚实际点击批处理文件如何帮助我登录到网站,甚至没有输入用户名和密码.

我是否需要开始学习Visual Basic,.NET或Windows批处理编程才能执行此操作?

还有一件事:我还可以用它来登录远程桌面吗?

javascript windows vbscript webautomation autologin

20
推荐指数
2
解决办法
14万
查看次数

如何安装Geckodriver?

我试图在Python中使用Selenium.但是,从https://pypi.python.org/pypi/selenium给出以下内容我不知道该怎么做

Selenium需要驱动程序与所选浏览器进行交互.例如,Firefox需要geckodriver,需要在运行以下示例之前安装geckodriver.确保它在您的PATH中,例如,将其放在/ usr/bin或/ usr/local/bin中.

我正在运行Windows 7 32位.我在这里找到了geckodriver:https://github.com/mozilla/geckodriver/releases

我大多使用Anaconda分发的Python来处理excel,所以我不知道什么是"PATH"

谢谢,

我更新了PATH,如评论中所示.这是完整的错误回溯.

Microsoft Windows [版本6.1.7601]版权所有(c)2009 Microsoft Corporation.版权所有.

C:\ Users \用户用户1>蟒

Python 3.5.2 | Anaconda 4.2.0(32位)| (默认,2016年7月5日,11:45:57)[winv上的MSC v.1 900 32位(英特尔)]输入"帮助","版权","信用"或"许可证"以获取更多信息.

来自selenium import webdriver driver = webdriver.Firefox()

回溯(最近一次调用最后一次):文件"",第1行,文件"C:\ Users\user1\AppData\Local\Continuum\Anaconda3\lib\site -packages\selenium-2.53.6-py3.5.egg\selenium\webdriver\firefox\webdriver.py",li ne 80,在init self.binary中,超时)文件"C:\ Users\user1\AppData\Local\Continuum\Anaconda3\lib\site -packages\selenium-2.53 .6-py3.5.egg\selenium\webdriver\firefox\extension_connect ion.py",第52行,在init self.binary.launch_browser(self.profile,timeout = timeout)文件"C:\ Users\user1\AppData\local\Continuum\Anaconda3\lib\site -packages\selenium-2.53.6-py3.5.egg\selenium\webdriver\firefox\firefox_binary.py",第67行,在launch_browser self._start_from_profile_path(self.profile.path) )文件"C:\ Users\user1\AppData\Local\Continuum\Anaconda3\lib\site -packages\selenium-2.53.6-py3.5.egg\selenium\webdriver\firefox\firefox_binary.py",第90行, in _start_from_profile_path env = self._firefox_env)文件"C:\ Users\user1\AppData\Local\Continuum\Anaconda3\lib\subp rocess.py",第947行,在init restore_中 signal,start_new_session)文件"C:\ Users\user1\AppData\Local\Continuum\Anaconda3\lib\subp rocess.py",第1224行,在_execute_child startupinfo中)FileNotFoundError:[WinError 2]系统找不到指定的文件

>

python selenium path webautomation geckodriver

20
推荐指数
5
解决办法
4万
查看次数

如何使用python和mechanize登录网站

我正在尝试登录网站http://www.magickartenmarkt.de并在会员区进行分析(https://www.magickartenmarkt.de/?mainPage=showWants).我看到了其他的例子,但我不知道为什么我的方法不起作用.我确定了第一种方法的正确形式,但目前尚不清楚它是否有效.在第二种方法中,returing网页向我显示我无法访问成员区域.

我很乐意为你提供任何帮助.

import urllib2
import cookielib
import urllib
import requests
import mechanize
from mechanize._opener import urlopen
from mechanize._form import ParseResponse

USERNAME = 'Test'
PASSWORD = 'bla123'
URL      = "http://www.magickartenmarkt.de"

# first approach
request = mechanize.Request(URL)
response = mechanize.urlopen(request)
forms = mechanize.ParseResponse(response, backwards_compat=False)
# I don't want to close?!
#response.close()

# Username and Password are stored in this form
form = forms[1]

form["username"] = USERNAME
form["userPassword"] = PASSWORD

#proof entering data has worked
user = form["username"]  # …
Run Code Online (Sandbox Code Playgroud)

python cookies login mechanize webautomation

18
推荐指数
1
解决办法
3万
查看次数

如何在 Playwright 中使用已安装的 chrome 版本?

我想使用铬而不是铬。我可以通过提供可执行路径在 puppeteer 中实现相同的目的。在 playwright 中它不起作用,因为浏览器类型参数仅支持“chromium、webkit、firefox”

const { chromium } = require('playwright');
(async () => {
    const browser = await chromium.launch({
        headless: false,
        executablePath: '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome',
    });
    const context = await browser.newContext();
    const page = await context.newPage();
    await page.goto('http://whatsmyuseragent.org/');
    await page.screenshot({ path: `example-${browserType}.png` });
})();
Run Code Online (Sandbox Code Playgroud)

javascript webautomation node.js playwright

17
推荐指数
2
解决办法
4万
查看次数

如何使用 Puppeteer 从 XHR 请求中获取 body / json 响应

我想从我用 Puppeteer 抓取的网站获取 JSON 数据,但我不知道如何取回请求的正文。这是我尝试过的:

const puppeteer = require('puppeteer')
const results = [];
(async () => {
    const browser = await puppeteer.launch({
        headless: false
    })
    const page = await browser.newPage()
    await page.goto("https://capuk.org/i-want-help/courses/cap-money-course/introduction", {
        waitUntil: 'networkidle2'
    });

    await page.type('#search-form > input[type="text"]', 'bd14ew')  
    await page.click('#search-form > input[type="submit"]')

    await page.on('response', response => {    
        if (response.url() == "https://capuk.org/ajax_search/capmoneycourses"){
            console.log('XHR response received'); 
            console.log(response.json()); 
        } 
    }); 
})()
Run Code Online (Sandbox Code Playgroud)

这只是返回一个承诺挂起函数。任何帮助都会很棒。

javascript webautomation node.js puppeteer

15
推荐指数
1
解决办法
2万
查看次数

Selenium Webdriver与Mechanize

我有兴趣自动化我经常访问的网站的某些形式的重复数据输入.到目前为止,我所查找的工具可以以无头的方式为此提供支持,可能是Selenium WebDriver和Mechanize.

我的问题是,使用一次与另一次是否有根本的技术差异?硒主要用于测试.我也注意到有些人用它来完成我正在寻找的东西,这就是自动化数据输入.在这种情况下,测试成为第二个好处.

有没有理由不使用Selenium来做我想做的机械化?这无关紧要,这两种工具都能奏效吗?

我不是问哪个更好,我问的是哪个是适合这项工作的工具.也许我不理解每个工具的目的背后的前提.

selenium mechanize webautomation web-scraping selenium-webdriver

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

Puppeteer:获取内部HTML

有没有人知道如何获取元素的innerHTML或文本.甚至更好; 如何单击具有特定innerHTML的元素.这是如何使用普通的javascript:

var found = false
$(selector).each(function() {
                if (found) return;
                else if ($(this).text().replace(/[^0-9]/g, '') === '5' {
                    $(this).trigger('click');
                    found = true
                }
Run Code Online (Sandbox Code Playgroud)

在此先感谢您的帮助!

javascript selenium webautomation node.js puppeteer

14
推荐指数
4
解决办法
2万
查看次数

Headless 浏览器图像质量 - Headless chrome、phantom js、slimmer js

我正在寻找有关无头浏览器中发生的事情的更多信息。过去我一直在使用不同的无头浏览器,例如slimmerJSPhantom.jsHeadless Chrome,目的是在不同的站点上截取屏幕截图。

我从来没有生成过与您在浏览器中看到的相似的真实、清晰质量的图像,它看起来像是一种工具限制,例如,这是您可以从中获得的最高质量,但我想了解为什么,以及可能如何使它变得更好。

请比较下面的例子。

  1. 在这个网站https://en.wikipedia.org/wiki/Main_Page 中,在左上角找到维基百科标志。
  2. 这是无头 chrome 通过 puppeteer 截取的那个标志的截图:

在此处输入图片说明

如果将真实网站与屏幕截图进行比较,您可以看到图像是如何模糊的。在这个例子中,它只是一个图像,但这也发生在 HTML 文本中。

现在,如果我要使用我的计算机截取屏幕截图,无论是 windows、mac 还是 linux,我都会得到一个质量非常好的屏幕截图,看起来完全像真正的交易。

那么为什么会发生这种情况呢?我尝试了所有标准的事情,例如在每个库中设置最高质量的屏幕截图,并设置一个足够大的视口,以便屏幕截图具有合适的分辨率。这真的是您可以从无头浏览器屏幕截图中获得的最高质量吗?

对这方面的任何启示将不胜感激。谢谢!

javascript webautomation node.js google-chrome-headless puppeteer

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