2017-02-17 7 views
0

aタグのhref属性を取得するためにセレンを使用しています。しかし、私のコードでは、 "/ pros/52698281"を掴むことはできません。選択された要素を取得せず、Javascriptによってロードされた要素をセレンで取得します

私のコードが間違っているか、いくつかのjavascriptが動的に別のURLを読み込んでいるためですか?彼は?ここで

はhtmlです:

 <article class="bi-bloc blocs clearfix bi-pro visited" id="bi-bloc-014805042600000000C0001" data-pjtoggleclasshisto="{&quot;idbloc&quot;: {&quot;id_bloc&quot;: &quot;014805042600000000C0001&quot;, &quot;no_sequence&quot;: &quot;&quot; }, &quot;klass&quot;:&quot;visited&quot; }"> 
      <div class="zone-bi"> 
       <a class="visible-phone mob-zone-pro pj-lb pj-link" data-pjsearchctx-sethref="" href="/pros/52698281" data-pjstats="{&quot;idTag&quot;:&quot;MOB-ZONE-PRO&quot;,&quot;pos&quot;:54,&quot;type_bi&quot;:&quot;pro&quot;,&quot;genreBloc&quot;:&quot;1&quot;,&quot;pjscript&quot;:&quot;xt_click({},'C','{%xtn2}','LR_BI::zone_identification::info{%pjstats.type_bi}::identification_pro','A');&quot;}"> 
        <span class="not-visible"> 
         XXXXXXXXXXX 
        </span> 
       </a> 

私はhref属性をつかむために、このコードを使用しています。:ここで

elements = driver.find_elements(:css, "article.bi-bloc div.zone-bi a.visible-phone") 
elements.each do |e| 
    p e.attribute("href") 
end 

は、私が思うに、JavaScriptコード、負荷を動的に別のURL(あります私の端末に1つの印刷)。

<script type="text/javascript"> 
var pj_searchctx = { 
    "1989516432": { 
     "form": { 
      "quoiqui": "climatisation", 
      "ou": "paris-75", 
      "proximite": 0 
     }, 
     "search": { 
      "technicalUrl":"/annuaire/chercherlespros?quoiqui=climatisation&ou=paris-75&idOu=L07505600&page=3&contexte=BupKFuSlIjbFtxi68rty83eKL16bkxx3e0d5jKAkSaA%3D&proximite=0&quoiQuiInterprete=climatisation", 
      "breadcrumb": "Retour aux résultats", 
      "stats": { 
       "idTag": "VERS-LR-RESULTATS" 
      } 
     } 
    } 
}; 

私が行うことができますどのように任意のアイデア?

答えて

0

あなたはCSSのセレクタに直接の子を使用しているので、(>で)代わりにあなたの本を使用してみてください:

"article.bi-bloc > div.zone-bi > a.visible-phone" 

これは、より具体的には、あなたが探して要素にマッチします。

関連する問題