2017-05-03 3 views
1

Ich versuche Code zu erstellen, der auf die Website "https://testmysite.thinkwithgoogle.com" gehen wird, geben Sie eine Zeichenfolge in das Suchfeld ein und senden Sie die Schaltfläche, um Ergebnisse zu erhalten (die ich schließlich scrape und in meinem speichern werde) Excel-Datei).VBA Selen Button Senden Problem

Allerdings kann ich nicht auf die Schaltfläche erhalten einzureichen. Jede Iteration, die ich ausprobiert habe, führt dazu, dass der Löschtext X gesendet wird, der erscheint, nachdem ich meinen Text eingegeben habe. Unten ist mein Code:

Sub GetScores() 
Dim bot As New WebDriver 

' URL to get data from 
bot.Start "Chrome", "https://testmysite.thinkwithgoogle.com" 
bot.Get "/" 

' Eventually loop through websites, for now just use example 
Dim str As String 
str = "www.google.com" 

'Paste str into webpage 

bot.FindElementByName("pagespeed-input").SendKeys (str) 

bot.FindElementByClass("pagespeed__submit").Submit 

Und hier wird der HTML-Code auf der Webseite:

<div class="pagespeed " data-component="PageSpeed" > 
    <form class="pagespeed__form" action=""> 
     <input type="hidden" name="pagespeed-locale" id="" value="en_us"> 
     <input type="url" name="pagespeed-input" class="pagespeed__input" placeholder="Enter your website URL" tabindex="-1" autofocus > 
     <button type="submit" class="pagespeed__submit pagespeed__submit--disabled" data-gtm-id="smbhub-url-entry" disabled>Test now</button> 
    </form> 
    <div class='pagespeed__error'></div> 
    </div> 
+0

Haben Sie 'Click' anstelle von' Submit' versucht? – Tehscript

+0

Ich tat, und ich würde eine Fehlermeldung erhalten. Die Version oben ist die einzige, die ich bekommen habe, um tatsächlich einen Knopf klicken zu erreichen/einreichen, es ist nur der falsche –

Antwort

0

bot.FindElementByXPath("//button[@type='submit']").Click

statt mit

bot.FindElementByClass("pagespeed__submit").Submit

Versuchen
+0

Es funktionierte! Vielen Dank! –

+0

@LindseyD groß. Können Sie diese Antwort akzeptieren? –

+0

Fertig, danke nochmal! –