首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Selenium JS:条带薪资:错误: ECONNREFUSED ECONNREFUSED 127.0.0.1:63506

Selenium JS:条带薪资:错误: ECONNREFUSED ECONNREFUSED 127.0.0.1:63506
EN

Stack Overflow用户
提问于 2021-02-23 09:21:54
回答 1查看 937关注 0票数 0

我写这个脚本是为了在我的网站上运行。它应该填写一些表格,然后按下付款按钮,然后等待Stripe付款页面,然后填写卡片信息并继续前进。

但问题是,当我的网站结束时,它点击付款按钮,进入Stripe端,自动化停止工作,并抛出这个错误,

错误: ECONNREFUSED连接ECONNREFUSED 127.0.0.1:49383在ClientRequest。(//node_modules/selenium-webdriver/http/index.js:273:15)

(节点:61074) UnhandledPromiseRejectionWarning: Error: ECONNREFUSED在ClientRequest连接127.0.0.1:49383。(//node_modules/selenium-webdriver/http/index.js:273:15)

(节点:61074) UnhandledPromiseRejectionWarning:未处理的承诺拒绝。此错误起源于在异步函数中抛出而不带catch块,或者拒绝使用.catch()处理的承诺。(拒绝id: 2) (节点:61074) DEP0018 DeprecationWarning:未处理的承诺拒绝被取消。在未来,承诺不处理的拒绝将使用非零退出代码终止Node.js进程。

剧本:

代码语言:javascript
复制
const {Builder, Key, By, Capabilities} = require('selenium-webdriver');
(async function makeDonation() {
    let driver = await new Builder().forBrowser('chrome').build();
 
        await driver.get('<URL>');
        // step 2 - fill out the form and proceed
        await driver.findElement(By.css('#support > div > div > div > form > div:nth-child(1) > input')).sendKeys('Test');
        await driver.findElement(By.css('#support > div > div > div > form > div:nth-child(2) > input')).sendKeys('test@test.com');
        await driver.findElement(By.css('#support > div > div > div > form > div:nth-child(3) > textarea')).sendKeys('Test', Key.TAB);
        await driver.sleep(500);
        await driver.findElement(By.css('<element>')).click();
        // step 3 - agree to pay
        let title_1 = await driver.getTitle();
        console.log(title_1);
        await driver.sleep(1000);
        await driver.findElement(By.css('#body > div.ReactModalPortal > div > div > div > div.d-flex.flex-column.justify-content-center.p-5 > form > button')).click();
        // step 4 - fill out the payment info on Stripe
        await driver.sleep(5000);
        const value = await driver.getTitle();
        console.log(value);
        await driver.findElement(By.css('#email')).sendKeys('email@email.com');
        await driver.findElement(By.css('#cardNumber')).sendKeys('4242424242424242');
        await driver.findElement(By.css('#cardExpiry')).sendKeys('0125');
        await driver.findElement(By.css('#cardCvc')).sendKeys('000');
        await driver.findElement(By.css('#billingName')).sendKeys('Name');
        await driver.findElement(By.css('#root > div > div > div.App-Payment > div > form > div:nth-child(2) > div:nth-child(4) > button > div.SubmitButton-IconContainer')).click();
        // final step - Expect the success page
    } catch (e) {
        console.error(e);
    } finally {
        driver.quit();
    }
})();

注意:从开始到第三步,它只是工作得很好。当它开始执行步骤4时,它就停止工作了。

EN

回答 1

Stack Overflow用户

发布于 2021-03-15 11:04:42

解决了:我已经在无头模式下运行了Chromedriver并发现问题解决了

代码语言:javascript
复制
const {Builder, Key, By, Capabilities} = require('selenium-webdriver');
const chromeCapabilities = Capabilities.chrome();
chromeCapabilities.set('chromeOptions', {args: ['--headless']});
let driver = new Builder().forBrowser('chrome').withCapabilities(chromeCapabilities).build();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66330318

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档