2017-12-15 4 views
1

に割り当てる私はからIDを抽出する必要がE2E回帰分度器E2E:文字列を抽出し、VAR

要素

<strong _ngcontent-jwu-49="" data-protractor="StreamId">11107</strong>' 

場合 を駆動するために分度器や活字体を使用しています要素と文字列とIDからのURLを構築

私は何をしても、約束は解決されていません

    :ここ

    は、私はまだ約束

    browser.executeScript("var text = document.querySelectorAll('[data- 
    protractor='StreamId']').innerHtml").then(function(text) 
    {console.log(text);}); 
    

    fails WebDriverError: unknown error: Runtime.evaluate threw exception: SyntaxError: missing) after argument list

    私の質問は2パート1である

    function getStreamId() { 
        //browser.ignoreSynchronization = true; 
        var streamIdElement = $$("[data-protractor='StreamId']") 
        var streamId = streamIdElement.getText().then(
    function(text){ 
    
    browser.get('https://URL/page/'+text); 
         console.log(streamId) 
        }) 
    

    を試みたものです

  1. 値を抽出する必要があり、文字列(.then(function(text){console.log(text)})とログでそれを読むことではないに約束を解決することも可能です後で

  2. と相互作用し、もしそうなら分度器でのベストプラクティスは何であるかI変数に代入して後で使用することができます)

答えて

2

最初の試みは実際には最終結果に非常に近いです。あなたはgetText()と呼ばれる要素を見つけ、約束を解決しました。

function getStreamId() { 
    var streamIdElement = $$("[data-protractor='StreamId']") 
    return streamIdElement.getText(); 
} 

getStreamId().then(function(streamId) {   
    browser.get('https://URL/page/'+streamId); 
    console.log(streamId); 
}); 
+0

あなたにサイレント行くために残念:

は、関数が約束を返し、あなたが実際の値を必要としたら、解決してください。あなたの答えをありがとう私は今週このソリューションを試してみて、報告します。 – toxicBurn

+0

もう一度、ありがとう@alecxe。出来た – toxicBurn

関連する問題