Python & Selen Click and "TypeError: String-Indizes müssen Integer sein"

Ich arbeite derzeit an einem Stück Code und habe viele Lesungen mit dem Dokumentarfilm gemacht und sah viele Beispiele an, aber trotzdem kann ich meinen Fehler nicht reparieren. Ich verwende Python und Selenium Webdriver.

Hier ist das Problem: Ich versuche, ein Bild aus einer HTML-Seite zu extrahieren, die Javascript verwendet. Die Ergebnisse aus dem Funktionsaufruf werden angezeigt (in Firefox), sobald ich den Selen-Webdriver verwende, aber ich kann nicht auf eine Nummer am unteren Rand der Seite klicken, um auf die 3. oder 4. Seite zu gelangen.

Hier ist der HTML-Code, mit dem ich Probleme habe:

<div class="pagebook" data-reactid=".1.0.2.0"><div style="display:none;" data-reactid=".1.0.2.0.0"></div><div class="active" data-reactid=".1.0.2.0.1:$0">1</div><div class="" data-reactid=".1.0.2.0.1:$1">2</div><div class="" data-reactid=".1.0.2.0.1:$2">3</div><div class="" data-reactid=".1.0.2.0.1:$3">4</div><div class="" data-reactid=".1.0.2.0.1:$4">5</div><div class="" dat<div class="next" style="margin-right:20px;" data-reactid=".1.0.2.0.$6">►</div></div> 

Ich habe diesen Aufruf mit xpath-Fähigkeit gemacht: browser.find_element_by_xpath('//div[@data-reactid=".1.0.2.0.1:$2"]').click()

Das erste Mal, dass ich das tat, hat es ein paar Mal gearbeitet und dann gab es mir einen Fehler und ich konnte es nie wieder verwenden. Der Fehler war:

 File "C:\Python27\Lib\site-packages\selenium-2.49.2-py2.7.egg\selenium\webdriver\remote\errorhandler.py", line 111, in check_response message = value["value"]["message"] TypeError: string indices must be integers 

Hier ist der Code, den ich verwende:

 browser = webdriver.Firefox() browser.implicitly_wait(5) #backup wait of 5 seconds just in case browser.get(url2) browser.find_element_by_xpath('//div[@data-reactid=".1.0.2.0.1:$2"]').click() 

Was ich suche Hilfe bei:

  1. Der Fehler
  2. Verwenden Sie eine andere Funktion zum Klicken

Bin dankbar!

Python ist die beste Programmiersprache der Welt.