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.

  • [Cocos2d-x] Ich habe einen Fehler, wenn ich versuche, 'python android-build.py -p 19 cpp-tests' in Windows 10 auszuführen
  • Machen Sie Tornado in der Lage, neue Anfragen zu behandeln, während Sie die Antwort von RPC über RabbitMQ warten
  • Wie man ein numpy Array auf polyphone Musik übersetzt
  • Popen.communicate () wirft OSError: "[Errno 10] Kein Kind verarbeitet"
  • Web-Scraping Daten aus Tabellen
  • Sehr schnelle Probenahme von einem Satz mit fester Anzahl von Elementen in Python
  • 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!

  • Warum kann ich keine Datei in Python 2.7 unter Mac OS X 2.7.5 finden?
  • "Kann nicht öffnen Include-Datei: 'config-win.h': Keine solche Datei oder Verzeichnis" bei der Installation von mysql-python
  • Pandas-Plot überlagert nicht
  • Python - zufällig partitionieren Sie eine Liste in n fast gleiche Teile
  • Äquivalent zu InnerHTML bei der Verwendung von lxml.html, um HTML zu analysieren
  • Plattformübergreifende Desktop-Benachrichtigung in Python
  • 2 Solutions collect form web for “Python & Selen Click and "TypeError: String-Indizes müssen Integer sein"”

    Dies ist eine bekannte, derzeit offene Ausgabe in Selen 2.49. Als Workaround Downgrade auf 2.48 :

     pip install selenium==2.48 

    Ich würde auch den Locator verbessern:

     //div[@class="pagebook"]/div[. = "2"] 

    Ich sehe diesen Fehler nicht mit Selen 2.47. Ich musste keinen meiner Xpaths wechseln

    Python ist die beste Programmiersprache der Welt.