0

私はページ上のリンク要素にスクロールしてそれをクリックしようとしています。 次の解決策はChromeとIEでは動作しますが、Firefoxでは動作しません。どうすればこの問題を解決できますか?他のアプローチはありますか? Sudharsan Selvarajは、私は次のように使用し、それがうまく仕事をした、示唆したようにSeleniumとNode.JSがFirefoxを走らせる要素にスクロールする方法は?

UnknownCommandError: GET /session/ad17a19d-782b-4706-b1d7-b56f0139b252/element/5c5e0c3d-1861-432c-b402-b6a010c2f268/location did not match a known command 
    at WebDriverError (C:\ProgramData\npm\node_modules\selenium-webdriver\lib\error.js:27:5) 
    at UnknownCommandError (C:\ProgramData\npm\node_modules\selenium-webdriver\lib\error.js:296:5) 
    at Object.throwDecodedError (C:\ProgramData\npm\node_modules\selenium-webdriver\lib\error.js:477:11) 
    at parseHttpResponse (C:\ProgramData\npm\node_modules\selenium-webdriver\lib\http.js:388:15) 
    at doSend.then.response (C:\ProgramData\npm\node_modules\selenium-webdriver\lib\http.js:330:11) 
    at process._tickCallback (internal/process/next_tick.js:103:7) 
From: Task: WebElement.getLocation() 
    at Driver.schedule (C:\ProgramData\npm\node_modules\selenium-webdriver\lib\webdriver.js:414:17) 
    at WebElementPromise.schedule_ (C:\ProgramData\npm\node_modules\selenium-webdriver\lib\webdriver.js:1823:25) 
    at WebElementPromise.getLocation (C:\ProgramData\npm\node_modules\selenium-webdriver\lib\webdriver.js:2112:17) 
    at clickByLinkTextScroll (innovationCentralTests.js:694:43) 
    at Context.<anonymous> (innovationCentralTests.js:445:9) 
    at C:\ProgramData\npm\node_modules\selenium-webdriver\testing\index.js:153:19 
    at new ManagedPromise (C:\ProgramData\npm\node_modules\selenium-webdriver\lib\promise.js:1017:7) 
    at controlFlowExecute (C:\ProgramData\npm\node_modules\selenium-webdriver\testing\index.js:138:14) 
    at TaskQueue.execute_ (C:\ProgramData\npm\node_modules\selenium-webdriver\lib\promise.js:2731:14) 
    at TaskQueue.executeNext_ (C:\ProgramData\npm\node_modules\selenium-webdriver\lib\promise.js:2714:21) 
    at asyncRun (C:\ProgramData\npm\node_modules\selenium-webdriver\lib\promise.js:2631:25) 
    at C:\ProgramData\npm\node_modules\selenium-webdriver\lib\promise.js:639:7 
+0

使用 '私は、Firefoxに対してそれを実行すると、私は次のような出力を得る

function clickByLinkTextScroll(text){ driver.findElement(By.linkText(text)).getLocation().then(function (location) { driver.executeScript("window.scroll(0," + location.y + ");"); driver.sleep(300); driver.findElement(By.linkText(text)).click(); }); }; 

Driver.executeScript( "arguments [0] .scrollIntoView()"、driver.findElement(By.linkText(text))) ' –

+0

それは魅力のように機能します。ありがとうございました! –

+0

うれしいよ:) –

答えて

7

function clickByLinkTextScroll(text) { 
    element = driver.findElement(By.linkText(text)); 
    driver.executeScript("arguments[0].scrollIntoView()", element); 
    driver.sleep(300); 
    element.click(); 
}; 
関連する問題