2017-02-17 11 views
0

Jenkinsからスクリプトを実行しているときに、pythonseleniumスクリプトのボタンをクリックできません。ジェンキンズは、Pythonセレンスクリプトのボタンをクリックできません

注::同じサーバーでコマンドプロンプトを実行すると、スクリプトはうまく動作します。以下は

は誤りです:

selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//input[@type="submit"][@id="btnSubmitExport"][@class="Button"]"} 

答えて

1

タイミングの問題であるように見えます。要素がDOMに表示されますまで、あなたはExplicitWaitの数秒を追加しようとする必要があります

from selenium.webdriver.support.ui import WebDriverWait as wait 
from selenium.webdriver.support import expected_conditions as EC 
from selenium.webdriver.common.by import By 

wait(driver, 10).until(EC.presence_of_element_located((By.XPATH, '//input[@type="submit"][@id="btnSubmitExport"][@class="Button"]'))).click() 
+0

あなたの答えを評価しましたが、時間はここでの制約ではありません。スクリプトはコマンドプロンプトで正常に機能していますが、すでにJenkinsで失敗していますが、私はすでに時間を待っています。 –

+0

シェア詳細:あなたがボタンを処理するために使用し、あなたの 'Python'コード、お使いのブラウザ、あなたのスクリプトが – Andersson

+0

スクリプトクリックすると、内部URLに ブラウザ=クロム、コードの ワンピース送信ボタンを実行したい正確に何: を\\ input \ input {@ type = "submit"} [@ id = "btnSubmitExport"] [@ class = "Button"] ' driver.find_element_by_xpath(element_var).click() –

0

問題は自分で解決してしまった... 実際の問題は、コマンドプロンプトから実行しているWindowsユーザーとジェンキンススレーブマシンから実行されていますWindowsユーザーと同じアクセス権を持たない別のユーザー。 ユーザーを確認するには、コマンドプロンプトでwhoamiコマンドを使用し、Jenkinsのコマンドプロンプトを使用しました。これはあなたにユーザー名を与えます。

関連する問題