【问题标题】:How to Set a Selector Variable with Quotes and Double Quotes in CasperJS如何在 CasperJS 中设置带引号和双引号的选择器变量
【发布时间】:2018-05-10 14:17:53
【问题描述】:

我必须如何设置这个选择器变量才能在 CasperJS 中工作(在 Chrome 控制台中工作)?

document.querySelectorAll('[data-product-unique-key="4_0_1"] [pf-aria-text="widgets.efgenericproduct.paymentaccount.Movements"]')[0]

这是测试结果:

FAIL Find an element matching: ('[data-product-unique-key="4_0_1"] [pf-aria-text="widgets.efgenericproduct.paymentaccount.Movements"]')[0] 
#    type: assertExists 
#    file: /home//dev/casperjs/ccm/scenarios/global.js 
#    subject: false 
#    selector: "('[data-product-unique-key=\"4_0_1\"] [pf-aria-text=\"widgets.efgenericproduct.paymentaccount.Movements\"]')[0]"

这是我当前的代码:

// I escape the doublequotes using backslash
var btnMovements = "('[data-product-unique-key=\"4_0_1\"] [pf-aria-text=\"widgets.efgenericproduct.paymentaccount.Movements\"]')[0]"
casper.csvexport = function() {
    casper.thenOpen('https://www.foobank.com/ap/ba/fp/html/e-finance/assets', function() {
        });
    casper.waitForSelector(
        btnMovements,
        function success() {
            this.test.assertExists(btnMovements);
            this.click(btnMovements);
        },
        function fail() {
            this.test.assertExists(btnMovements);
        }
    );
};

【问题讨论】:

    标签: javascript casperjs


    【解决方案1】:

    您的选择器不正确:

    var btnMovements = "('[data-product-unique-key=\"4_0_1\"] [pf-aria-text=\"widgets.efgenericproduct.paymentaccount.Movements\"]')[0]"
    

    正确的选择器应该是:

    var btnMovements = '[data-product-unique-key="4_0_1"] [pf-aria-text="widgets.efgenericproduct.paymentaccount.Movements"]';
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-02
      • 1970-01-01
      相关资源
      最近更新 更多