1

次のような単純なテーブルがあるとします。

Smith    |  Select
Jones    |  Select
Johnson  |  Select

そして、Selenium テストを作成して、Jones に対応するリンクを選択する必要があります。2行目の「選択」をクリックさせることもできますが、「ジョーンズ」がどこにあるかを見つけて、対応する「選択」をクリックさせたいと思います。これを達成するには、JQueryを組み込む必要があるかもしれないと考えていますか?

4

2 に答える 2

1

"//tc[.//text() = 'Jones']/../tc[2]/a" のような xpath 式を使用します。これは、テキスト コンテンツが 'Jones' であるテーブル セルを検索し、次にナビゲートします。そのセルの親を選択し、その親の 2 番目のテーブル セルを選択してから、2 番目のテーブル セル内のリンクを選択します。

于 2010-06-22T19:47:56.563 に答える
0

jQuery を使用する場合は、次の情報を参照してください。

  • まず、jquery.js または jquery.min.js ファイルから jquery を読み取ることができます。
  • 次に、execute_script(jquery) を使用して jquery を動的に有効にします。
  • これで、jquery を操作できます。

ここにいくつかのコードがあります:

browser = webdriver.Firefox() # Get local session of firefox

with open('jquery.min.js', 'r') as jquery_js: #read the jquery from a file
    jquery = jquery_js.read()
    browser.execute_script(jquery)  #active the jquery lib

#now you can write some jquery code then execute_script them
js = """
    var str = "div#myPager table a:[href=\\"javascript:__doPostBack('myPager','%s')\\"]"
    console.log(str)
    var $next_anchor = $(str);
    if ($next_anchor.length) {
        return $next_anchor.get(0).click(); //do click and redirect
    } else {
        return false;
    }""" % str(25) 

success = browser.execute_script(js)
if success == False:
    break
于 2012-08-15T17:25:10.570 に答える