stackoverflowのすべてのスレッドを検索しましたが、私の問題に関して適切な解決策が見つかりませんでした。 7/10のケースでは、スクリプトが特定の要素を1つ見つけられないためにスクリプトが低下しています。したがって、私はスクリプトに "この要素が存在するまで待ってからそれをクリックしてください"と言うためにoppurtunityを探しています。要素が存在するまで待つ
私のコードは次のようになります。
require "json"
require "selenium-webdriver"
require "test/unit"
class LogIn < Test::Unit::TestCase
def setup
@driver = Selenium::WebDriver.for :chrome
@base_url = "url"
@accept_next_alert = true
@driver.manage.timeouts.implicit_wait = 30
@verification_errors = []
end
def teardown
@driver.quit
assert_equal [], @verification_errors
end
def test_sms_newsletter
#login
@driver.get "https://secure.shore.com/merchant/sign_in"
@driver.find_element(:id, "merchant_account_email").clear
@driver.find_element(:id, "merchant_account_email").send_keys "key"
@driver.find_element(:id, "merchant_account_password").clear
@driver.find_element(:id, "merchant_account_password").send_keys
"password"
@driver.find_element(:name, "button").click
@driver.get "https://secure.shore.com"
verify { assert_equal "Shore - Manage your customers", @driver.title }
sleep 5
@driver.find_element(:css, "#asMain > header > a.as-Button.is-
active.as-Button--inverted").click
私が取っている要素が最後のものである:
@driver.find_element(:css, "#asMain > header > a.as-Button.is-active.as-Button--inverted").click
誰もがアイデアを持っていますか?
表示されるエラーは何ですか? @ driver.find_element(:css、 "#asMain> header> a.as-Button.is-active.as-Button - inverted")を使って何をするかを正確に更新してください。 https:// secure.shore.com'。ありがとう – DebanjanB
適切なインデントは巨大なデバッグヘルプです –
こんにちは@DebanjanB。フロントエンドが良い方法で書かれていないので、この要素を時間内に見つけるのに苦労しているスクリプトです。したがって、私はスクリプトが最初に要素を見つけてから続行するように強制します。 –