Mit excel vba den Wert ändern eines dropdown-Menüs auf einer website
Ich Schreibe ein Excel-makro, um das ausfüllen eines Formulars auf einer Webseite. Ich habe geschrieben, den code, füllen Sie die Textfelder einfach genug, und fand-code zu wählen, radio-Boxen, aber ich habe Probleme mit der Auswahl von Informationen von dropdown-Menüs.
Beispiel 'Geschlecht':
Die combo-box hat drei Optionen:
Select / Male / Female
Habe ich versucht, ein paar Variationen auf diesem:
doc.getElementsByName("xs_r_gender").Item(0).Value="Male"
...aber mit kein Glück.
Dies ist die web-source-code:
<td> <select name="xs_r_gender" id="xs_r_gender">
<option value="" selected>Select</option>
<option value="male">Male</option>
<option value="female">Female</option> </select></td>
Dank.
InformationsquelleAutor Marcus C | 2013-02-21
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
doc.getElementById("xs_r_gender").selectedindex=1
scheint den trick tun. (Wobei 1 für Männlich)
Obwohl es bedeutet, dass ich brauchen, um eine Menge von lookups, um zu bestimmen, was der Wert für die Artikel in meinem dropdown-Menü. (Einfach genug für Sex, wo es nur zwei Optionen, aber ich habe einige comboboxes mit bis zu 50 Optionen). Wenn jemand weiß, der eine schnellere Lösung, das wäre toll. In der Zwischenzeit Krank zu tun beginnen einige Tabellen!!!
Dank.
InformationsquelleAutor Marcus C
Versuchen Sie folgenden code unter der Annahme doc = dh.Dokument
doc.getElementById("xs_r_gender").value = "male" Versuchen, diese
InformationsquelleAutor
Verwenden Sie diese in Ihrem code aufrufen, um die Funktion weiter unten.
Dann verwenden Sie diese für Ihre Funktion
InformationsquelleAutor Lansman
Dank Stack, der für mich arbeitet! Meine Lösung für den Betrieb eines IE-HTML-combobox drop-down-stellte sich heraus, dass zwei Teile.
Teil 1 war, klicken Sie auf das pull-down, hier der code:
Teil 2 war zu wählen, und klicken Sie auf den Wert, wie in diesem (*eigentliche element name geändert):
Hier sind die Referenzen:refs
InformationsquelleAutor Longrifle
Tut mir Leid. Aber ich dachte, die Kommentare im code erklärt sich selbst... oder nicht? =D
InformationsquelleAutor kazulius
Versuchen, diesen code :
InformationsquelleAutor kenneth
Können Sie etwas wie das hier tun:
doc.getElementsByName("xs_r_gender").Item(1).Selected=True
oder
doc.getElementById("xs_r_gender").selectedindex = 1
Wobei 1 die männliche option (in beiden Fällen).
Wenn die dropbox muss Feuer etwas geschehen, um zu Erkenntnis Ihrer Wahl, ist es wahrscheinlich, dass es das "onchange" - Ereignis. Feuern können Sie es so:
doc.getElementById("xs_r_gender").FireEvent("onchange")
Wenn Sie jemals wollen, um in der Lage sein, um eine option auszuwählen, basierend auf dem text der option können Sie die Funktion gegeben durch Lansman (hier) .
Basierend auf die gleiche Antwort, wenn Sie wollen, um die option aufzurufen, indem es die Eigenschaft "Wert" (anstelle von text können Sie ändern Sie einfach die Zeile
If xComboName.Options(x).Text = xComboValue Then
zuIf xComboName.Options(x).value = xComboValue Then
).Dies sollte für alle Basen.
Sie nicht brauchen, um eine Zahl explizit zugerechnet. Die Nummer, die Sie verwenden sollten, entspricht die position der option (ersten/zweiten/Dritten/...). Alternativ können Sie iterieren über alle Optionen und vergleichen Sie die
.value
mit Ihrem text, bis Sie die option finden, die Sie suchen.InformationsquelleAutor jony
Können Sie versuchen, die
querySelector
Methode derdocument
für ein CSS-Selektor vonoption
- tag mit dem Attributvalue = 'male'
:oder
InformationsquelleAutor QHarr
Kopieren von Hier bis zur letzten Zeile:
InformationsquelleAutor Govind Pandey