2

最近、Selenium を使用して Web ビューを持つアプリをテストし始めました。私のwebviewのコードは次のとおりです。

<div class="class1 class2 class3 class4" style="padding: 4px;" id="_6bd7b91a-214c-4075-b7db-dcaa08155e1a"> 
    <span class="class5" style="font-weight: bold; text-decoration: underline;">This is TITLE</span> 
    <div class="class6" dd:contenttype="content_type1" dd:concept="TITLE" id="_1d8c4490-d0c1-42ed-a93e-e92ca570dd32">
     <div class="class7"> 

自動化テストの要素を見つけるために、再利用可能なコードを書いています。上記のコードでは、要素は 2 つの方法で見つけることができ'dd:concept="TITLE"'ます"This is TITLE"。しかし、Seleniumには、思い通りに要素を見つけることができるものは何も見つかりませんでした。

「find_element」を使用して要素を探していますが、渡せるもの'dd:concept="TITLE"'"This is TITLE"引数として渡せるものがありません。

試してみました-driver.find_element(:css, "span.class5")またはdriver.find_element(:css, "div.class1 class2 class3 class4 span.class5")

とにかく、Seleniumドライバーとその引数としていくつかのテキストを使用して、webviewで要素を見つけることができますか??

4

1 に答える 1

2

FindElement(By.CssSelector("[dd:concept='TITLE']")) が機能するはずです。

ああ、あなたはルビーを使っています。

少し調べてみましたが、これを試すことができます:

find_element(:css, "[dd:concept='TITLE']")

もう一度編集します。

次のように、タグ名 dd:concept の : をエスケープすることをお勧めします。

find_element(:css, "[dd\:concept='TITLE']")

于 2013-07-29T20:18:24.773 に答える