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.

  • Django-social-auth redirect_uri ist ungültig
  • Erzeugen von binären Listen, die zu einer gegebenen Zahl summieren
  • Python Google Voice
  • Boost Python Wrapping eine virtuelle Methode
  • Installieren eines Pakets zu Canopy
  • Array.shape () gibt Fehler Tupel nicht aufrufbar
  • 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: Fang die Ausgabe von subprocess.call mit stdout
  • In einem Pandas DataFrame, was ist der Unterschied zwischen der Verwendung von quadratischen Klammern oder Punkt zu 'cal eine Spalte?
  • Warum nicht abdecken.py richtig messen Django's Runserver Befehl?
  • Wie kann ich mich bei facebook mit python (requests / urllib3) anmelden?
  • Was genau machen "u" und "r" String Flags, und was sind rohe String Literale?
  • Variable Anzahl von abhängigen verschachtelten Schleifen
  • 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.