2013-07-05 23 views
7

Hier ist der Link, den ich zu klicken bin versucht:einen Link klicken, Selen mit Python mit

<a href="#" onclick="OpenAddKeywords();return false;" id="btnAddKeywords">Add Keywords</a> 

ich einige Optionen ausprobiert (siehe unten), aber sie funktionierte nicht; irgendwelche Ideen?

  1. self.br.find_element_by_xpath("//*[@id='btnAddKeywords']").click()
  2. self.br.execute_script("OpenAddKeywords();return false;")

Dies ist der Fehler, den ich für execute_script habe:

Message: u'Error Message => \'Can\'t find variable: OpenAddKeywords\'\n caused by Request => 

Und das ist die eine, die ich für xpath habe:

Message: u'Error Message => \'Unable to find element with xpath \'//*[@id=\'btnAddKeywords\']\'\'\n caused by Request => 
+0

Wie genau haben sie nicht funktioniert? –

+0

@AlexanderPetrovich hinzugefügt Fehler :) – Mark

+2

Haben Sie versucht, "self.br.find_element_by_id ('btnAddKeywords'). Click()'? Wenn das nicht funktioniert, ist es möglich, dass du nicht auf der Seite bist, von der du denkst, dass du sie bist. – n1r3

Antwort

3

Sie können versuchen, xpath wie unten zu verwenden. Es funktioniert für mich, weil ich das letzte Projekt verwendet habe.

driver.find_element_by_xpath("xpath").click() 

Bitte versuchen Sie es ...

+0

Eigentlich hat @Mark das versucht und das Ergebnis in der Frage erwähnt; Bitte lesen Sie die Frage sorgfältig durch und antworten Sie dann. :) –

5

Wie ich in meiner Frage here erwähnt, wäre das Problem mittels ActionChains Klasse gelöst werden; ein kurzer Code ist hier:

el = driver.find_element_by_id("someid") 
webdriver.ActionChains(driver).move_to_element(el).click(el).perform() 

Das Hauptproblem ist, dass speziell in einigen Fällen, wenn Sie ein paar Javascript-Codes auf Ihrer Seite haben, würde das DOM ändern und das Element, das Sie vor staled wird gefunden haben. 'ActionChains' würde es am Leben halten, um Aktionen auszuführen.

+0

@Mark Mein Problem war sehr ähnlich zu Ihrem und Zeinabs Lösung funktionierte für mich – rapvelopment

Verwandte Themen