2016-08-02 7 views
-1

Facebookの友達リストを保存したい。そのため、プロフィールの「友達」タブをクリックするたびに、友だちリストがブロックされていないと他のものが開いていないと友達リストが開きます。セレン期待コンディションセレクターBy.PARTIAL_LINK_TEXT not working

ので友達リストを開いたりブロックされている場合、私は次のように友達リストが開かれた場合は存在している要素を選択チェックし、次のように要素の

try: 
    WebDriverWait(browser, 4).until(EC.presence_of_element_located((By.PARTIAL_LINK_TEXT,"friends_all"))) 
except: 
    print " friend list is blocked" 
    browser.close() 

とHTMLは次のとおりです。

<a class="_3c_ _3s-" href="https://www.facebook.com/tripti.vishnoiji/friends_all" aria-controls="pagelet_timeline_app_collection_100001042287600:2356318349:2" role="tab" aria-selected="true" name="All friends" id="u_jsonp_2_0"> 
<span class="_3sz">All friends</span> 
<span class="_3d0"></span> 
<div class="_3s_"></div> 
</a> 

出力上映は次のとおりです。要素が選択されていない理由を フレンドリストが

がブロックされています。

+0

あなたは 'WebDriverWait使用してみましたの(ブラウザを、4)(EC.presence_of_element_located((By.NAME、「すべての.until友人 "))))') –

+0

このコードを試してください 'WebDriverWait(browser、4).until(EC.presence_of_element_located((By.PARTIAL_LINK_TEXT、" All friends ")))'。 – Harish

+0

@ハリッシュはとてもうまく働いています。 – vivek

答えて

0

コードの下に試してみてください。

WebDriverWait(browser, 4).until(EC.presence_of_element_located((By.PARTIAL_LINK_TEXT,"All friends"))) 

はそれが役に立てば幸い!

0

実際のリンクテキストは"All friends"であり、"friends_all"

は、次のコードを使用してみてください含まれていませんがあなたは、ahref属性を参照しようとしている:

WebDriverWait(browser, 4).until(EC.presence_of_element_located((By.XPATH,'//a[span[text()="All friends"]]'))) 

または

WebDriverWait(browser, 4).until(EC.presence_of_element_located((By.LINK_TEXT,'All friends'))) 
0

リンクテキスト

これは、リンクのテキストを使用してWebページにハイパーリンクを配置する簡単な方法です。

ここ
<a href="http://www.google.com">Launch Google</a> 

Link TextLaunch Googleだろう。

部分リンク・テキスト:

名前がPartial Link Textを示唆するように、全体Link Text例えばだけの部分的な単語の組み合わせでありますLaunchGoogle & Launch Google

したがって、上記の例では部分的なリンクテキストは、上記のHTMLではどちらかAllFriends & All Friends

だろう、hrefが、それは部分的なリンクテキストではない、friends_allが含まれています。そう

あなたは以下を使用することができますリンクをクリックした場合: -

WebDriverWait(browser, 4).until(EC.presence_of_element_located((By.XPATH,'//span[text()='All friends']))) 
+0

提案ありがとう – vivek