2016-08-02 10 views
-1

Ich möchte die Freundesliste einer Facebook-ID speichern. Wenn ich dann im Profil auf die Registerkarte "Freunde" klicke, wird die Freundesliste geöffnet, wenn die Freundesliste nicht blockiert ist, sonst öffnen sich andere Dinge.selen Erwarteter Zustandswarteschalter By.PARTIAL_LINK_TEXT funktioniert nicht

so überprüfen, ob die Freundesliste geöffnet oder gesperrt, i das Element auswählen, die Liste vorhanden ist, wenn Freund geöffnet wird, wie folgt:

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

und HTML-Element ist wie folgt:

<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> 

Der Ausgang zeigt ist: Freundesliste gesperrt

warum Element nicht ausgewählt ist.

+0

Haben Sie versucht, mit 'WebDriverWait (Browser, 4) .bis (EC.presence_of_element_located ((By.NAME" Alle Freunde ")))' –

+0

Versuchen Sie diesen Code 'WebDriverWait (Browser, 4) .until (EC.presence_of_element_located ((By.PARTIAL_LINK_TEXT," Alle Freunde ")))'. – Harish

+0

@Harish vielen Dank, dass es funktioniert – vivek

Antwort

0

Try unten Code:

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

Hoffe, es hilft!

0

Sie versuchen zu href Attribut a zu beziehen, während der tatsächliche Link-Text "All friends" ist und es enthält nicht "friends_all"

Versuchen folgenden Code zu verwenden:

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

oder

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

Link Text

Dies ist eine einfache Methode zum Suchen eines Hyperlinks in Ihrer Webseite, indem Sie den Text des Links verwenden.

z.B.

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

Hier Link Text würde Launch Google sein.

Teil Link Text:

Wie der Name schon sagt Partial Link Text ist nur die Teilwort-Kombination des gesamten Link Text z.B. Launch, Google & Launch Google

So Teil Link-Text in dem obigen Beispiel entweder All, wäre Friends & All Friends

In der obigen HTML, href enthält friends_all, ist es nicht der Teil-Link-Text.

also, wenn Sie auf den Link klicken Sie folgende verwenden: -

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

danke für den Vorschlag – vivek