2017-10-02 13 views
1

私は、フォーム内にマップを持つWebアプリケーションをテストしています。リーフレットマップを使用して異なる地域を表示すると、地域IDはコンボボックスオプションを選択して変更されることがあります。私はclick element Xpathを使用して地域を選択しようとしましたが、残念ながらそれは機能しませんでした。 Rrobotフレームワークでリーフレットマップから領域を選択する方法はありますか?以下はrobotframework - チラシマップ上の領域を選択してください

は、私が使用していますロボットFrameworkのコードである:ここで

click element xpath=.//*[@id='map-id']/div[1]/div[4]/img[89] 

は私のフォームです:

Leaflet map

+0

あなたが使用したコードを教えてください。 – Goralight

+0

私はこれを 要素をクリックしてください。xpath =。// * [@ id = 'map-id']/div [1]/img [89] –

+0

これは、 'element'と' xpath'の間に二重スペースがありません – Goralight

答えて

1

私は同じ問題を抱えていたし、それを修正するには、2つの方法があります。カスタムPythonキーワードを作成してマップ要素の位置を特定し、要素の中心を見つけ、クリックする中心からの距離を計算してから、その位置をクリックします(実際には難しくありません)。または地図要素自体をクリックして(おそらくドームスタイルのロケータによって、透明で透明なオーバーレイの後ろをクリックできます)、地図の中心がクリックできる唯一の場所であることに満足してください。

2つ目のオプションを除いて、このすべては、ロボットフレームワークがマップをクリックするのをブロックするトランスペアレントなオーバーレイがないことを前提としています。存在する場合は、Execute JavascriptキーワードでJavascriptを実行する必要があります。 Javascriptでは、現在の設定でclick()コマンドを使用すると、透明オーバーレイの背後にあるものをクリックすることができます。

すべてが失敗した場合は、カーソルを移動してカーソルとしてクリックする別のカスタムキーワードを考えてください。私はそのコードatmにアクセスすることはできませんが、Pythonでは1行のキーワードです。

また、エラーはXPathが十分に具体的でないことが原因である可能性があります。

+0

本当にありがとうございます。それは 'クリック要素'と3秒後の睡眠の後に働いた。 –

+1

喜んで助けてください!あなたの問題を解決して助けになった場合は、その答えを受け入れることを忘れないでください。 –

関連する問題