2017-12-18 7 views
0

私は自分のプロジェクトを進めるためにselenium webdriverがこのリンクをクリックしたいと思います。ここに私のコードです。エラーはありませんが、リンクはクリックされません。ここでセレンはクリックしません。名前、ID、クラスはありません

x = driver.find_element_by_xpath('/html/body/table[2]/tbody/tr[2]/td/span/ 
a[7]') 
x.click() 

は、私は第七のリンクをクリックしますHTML

<tr> 
    <td width="100%"> 
    <span style="white-space: nowrap"> 
     <a href="#"> 
     <img src="https://staffmate.com/imagessm/OEA_sm_lt.gif" border="0" width="125" height="36"> 
     </a> 
     <a href="#"> 
     <img src="https://staffmate.com/imagessm/OPOS_sm_lt.gif" border="0" width="125" height="36"> 
     </a> 
     <a href="#"> 
     <img src="https://staffmate.com/imagessm/OCTR_sm_lt.gif" border="0" width="125" height="36"> 
     </a> 
     <a href="#"> 
     <img src="https://staffmate.com/imagessm/OCL_sm_lt.gif" border="0" width="125" height="36"> 
     </a> 
     <a href="#"> 
     <img src="https://staffmate.com/imagessm/OVEN_sm_lt.gif" border="0" width="125" height="36"> 
     </a> 
     <a href="#"> 
     <img src="https://staffmate.com/imagessm/OEV_sm_dk.gif" border="0" width="125" height="36"> 
     </a> 
     <a href="eprintreports.php?eSessID=199495633810875522501415473608154261624185901388039708769020171218111124"> 
     <img src="https://staffmate.com/imagessm/PREP_sm_lt.gif" border="0" width="125" height="36"> 
     </a> 
     </span> 
    </td> 
</tr> 

です。 Chromeの検査ツールからxpathを直接コピーしました。私は、絶対パスが信頼できないことを知っていますが、クラス名、ID、または名前がないときは、他に何を使用する必要がありますか?ヘルプは非常に高く評価されます。

+0

あなたはURLを共有することはできますか? –

+0

私はURLを追加しました – Cameron

+0

URLはまだ説明に含まれていないようですので、追加してください。 – Danny

答えて

0

は、次のXPathを試してみてください。<a>タグの

"//a[contains(@src, 'PREP')]" 
+0

ありがとうございます。残念ながら、これはエラーを引き起こします:そのような要素はありません。これはfind_element_by_link_textを試したときと同じエラーです。 IDE経由でソースを表示するとリンクはクリックできません:print(driver.page_source)。これが問題だろうか? – Cameron

1

クリックすると、あなたに所望の出力をフェッチしない場合があります。あなたは<img>タグまで深く行くと、次のようにclick()を起動する必要があります。

driver.find_element_by_xpath("//td/span//a/img[contains(@src,'https://staffmate.com/imagessm/PREP_sm_lt.gif')]").click() 

Note : We could have done away with a shorter value for src attribute as PREP but ideally we should consider the full value of the attribute.

+0

ありがとうございます。残念ながら、これはエラーを引き起こします:そのような要素はありません。これはfind_element_by_link_textを試したときと同じエラーです。 IDE経由でソースを表示するとリンクはクリックできません:print(driver.page_source)。これが問題だろうか? – Cameron

+0

@Cameronあなたはリンクで意味するものをクリック可能ではないかを詳しく説明できますか?より多くのouterHTMLで質問を更新してください。 – DebanjanB

関連する問題