2016-10-05 10 views
0
<div id="reg_form_box" class="large_form"> 
<div class="clearfix _58mh"> 
<div class="mbm _3-90 lfloat _ohe"> 
<div id="u_0_0" class="_5dbb"> 
<div class="uiStickyPlaceholderInput uiStickyPlaceholderEmptyInput"> 
<div class="placeholder" aria-hidden="true">First name</div> 
<input id="u_0_1" class="inputtext _58mg _5dba _2ph-" data-type="text"  name="firstname" aria-required="1" placeholder="" aria-label="First name" aria-controls="js_0" aria-haspopup="true" role="null" aria-describedby="js_w" aria-invalid="true" type="text"/> 
</div> 
<i class="_5dbc img sp_beZQzZ7Rg6Q sx_5ca7f2"/> 
<i class="_5dbd img sp_beZQzZ7Rg6Q sx_9c246c"/> 
</div> 

上記は、タグ名トラバーサルを使用してXpathを書きたいコードです。ここに私が作ったxpathがありますSelenium-タグのトラバースXpath for facebook

"//div[@id='reg_form_box']/div[1]/div[1]/div[1]/div/input" 

ここに何が間違っているのか、どうすれば修正できるのでしょうか。ウェブサイトはFacebookで、フィールドはホームページ上のファーストネームです。

+0

このXPathは、最良の選択であることにはほど遠いですが、それは私のために動作します。あなたの問題は別のものかもしれません。そして、法的な面にとどまるようにしてください(Facebookの利用規約を参照)。 – alecxe

+0

Facebookはそれを掻き上げることができません。 APIの使用 – WizKid

答えて

0

理想的には、同じxpathに一致する複数のモードがある場合を除いて、階層全体を走査する必要はありません。

これは動作します:

//input[@name='firstname']