1 / 1 / 0
Регистрация: 05.07.2015
Сообщений: 42

Нажать кнопки в WebBrowser с одним ID

06.07.2015, 01:25. Показов 4062. Ответов 48
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как нажать кнопки в веббраузере c общим ID vb 2008
Тут и ID и Value
как тут нажать сначала "я буду через...",
а потом например "10 мин"
вообще запутался
Миниатюры
Нажать кнопки в WebBrowser с одним ID  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.07.2015, 01:25
Ответы с готовыми решениями:

Нажать на поле в webbrowser
На сайте такая защита, что нельзя нажать на кнопку войти, пока РУКАМИ не кликнешь по полю ввода логина и пароля, ...

Нажать на submit в webbrowser
Всем привет, пробую нажать на сабмит на странице, но безрезультатно. Пробовал void __fastcall TForm1::ClickButton(String...

Нажать на кнопку в WebBrowser
Знаю подобных тем было оч много. НО! Это не те случаи где можно было кликнуть по значению value. Вообщем код кнопки таков: <button...

48
1 / 1 / 0
Регистрация: 05.07.2015
Сообщений: 42
14.09.2015, 21:52  [ТС]
Студворк — интернет-сервис помощи студентам
VB.NET
1
2
3
Dim opt5 = Aggregate opt As HtmlElement In WebBrowser1.Document.GetElementById("propSelConfirm").GetElementsByTagName("OPTION")'-требуется Into
Where opt.GetAttribute("value") = "5" Into FirstOrDefault '-Where - не объявлено,opt-не объявлено почему-то?, Into- требуется запятая")" или выражение
If opt5 IsNot Nothing Then opt5.SetAttribute("selected", True)
0
 Аватар для diadiavova
7261 / 2608 / 745
Регистрация: 11.04.2015
Сообщений: 4,155
Записей в блоге: 43
14.09.2015, 22:08
Antontth, если у тебя vs 2008, то в конце строк просто ставь пробел и знак подчеркивания. В более поздних версиях это уже не нужно. Можно же было догадаться, что это один линк-запрос.
VB.NET
1
2
3
4
       Dim opt5 = Aggregate opt As HtmlElement In WebBrowser1.Document.GetElementById("propSelConfirm").GetElementsByTagName("OPTION") _
                         Where opt.GetAttribute("value") = "5" Into FirstOrDefault
 
        If opt5 IsNot Nothing Then opt5.SetAttribute("selected", True)
0
1 / 1 / 0
Регистрация: 05.07.2015
Сообщений: 42
14.09.2015, 22:13  [ТС]
Скорее всего "Where" не понимает.
0
 Аватар для diadiavova
7261 / 2608 / 745
Регистрация: 11.04.2015
Сообщений: 4,155
Записей в блоге: 43
14.09.2015, 22:15
Цитата Сообщение от Antontth Посмотреть сообщение
Скорее всего "Where" не понимает.
Это как это?
Предложение Where (Visual Basic)
0
1 / 1 / 0
Регистрация: 05.07.2015
Сообщений: 42
14.09.2015, 22:36  [ТС]
Да, уже голову сломал.
VB.NET
1
Dim opt5 = Aggregate opt ....
переменная диапазона opt скрывает переменную во внешнем блоке или переменную диапазона ранее определенную в выражении запроса
VB.NET
1
2
3
4
5
6
7
8
9
Dim selectElement = WebBrowser2.Document.GetElementById("propSelConfirm")
        For Each opt As HtmlElement In selectElement.All
            If opt.TagName = "OPTION" AndAlso opt.GetAttribute("value") = "5" Then
                opt.DomElement.selected = True
                Dim opt5 = Aggregate opt As HtmlElement In WebBrowser1.Document.GetElementById("propSelConfirm").GetElementsByTagName("OPTION") Where opt.GetAttribute("value") = "5" Into FirstOrDefault()
                If opt5 IsNot Nothing Then opt5.SetAttribute("selected", True)
 
            End If
        Next
0
 Аватар для diadiavova
7261 / 2608 / 745
Регистрация: 11.04.2015
Сообщений: 4,155
Записей в блоге: 43
14.09.2015, 22:38
Antontth, а нахрена ты всего этого нагородил? То, что я написал - это весь код. Зачем все остальное?
0
1 / 1 / 0
Регистрация: 05.07.2015
Сообщений: 42
14.09.2015, 23:23  [ТС]
А другого способа нет,
а то ничего не происходит
и без огорода?
Win XP Home VB 2008
0
 Аватар для diadiavova
7261 / 2608 / 745
Регистрация: 11.04.2015
Сообщений: 4,155
Записей в блоге: 43
14.09.2015, 23:58
Цитата Сообщение от Antontth Посмотреть сообщение
А другого способа нет,
а то ничего не происходит
Все другие способы делают ровно то же самое, что и этот. Если у тебя не работает, это значит, что либо документ имеет другой вид, по крайней мере на момент, когда выполняется этот код, либо ты код неправильно скопировал(что-то изменил в нем, либо он вступает в противоречие с контекстом - не знаю). Поскольку в тех условиях, которые ты описал все работает. Создать проект для той версии, которая у тебя, я не могу. Но ты можешь сам создать проект. Код дизайнера формы сделать таким
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class Form1
    Inherits System.Windows.Forms.Form
 
    'Форма переопределяет dispose для очистки списка компонентов.
    <System.Diagnostics.DebuggerNonUserCode()> _
    Protected Overrides Sub Dispose(ByVal disposing As Boolean)
        Try
            If disposing AndAlso components IsNot Nothing Then
                components.Dispose()
            End If
        Finally
            MyBase.Dispose(disposing)
        End Try
    End Sub
 
    'Является обязательной для конструктора форм Windows Forms
    Private components As System.ComponentModel.IContainer
 
    'Примечание: следующая процедура является обязательной для конструктора форм Windows Forms
    'Для ее изменения используйте конструктор форм Windows Form.  
    'Не изменяйте ее в редакторе исходного кода.
    <System.Diagnostics.DebuggerStepThrough()> _
    Private Sub InitializeComponent()
        Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(Form1))
        Me.WebBrowser1 = New System.Windows.Forms.WebBrowser()
        Me.ToolStrip1 = New System.Windows.Forms.ToolStrip()
        Me.ToolStripButton1 = New System.Windows.Forms.ToolStripButton()
        Me.ToolStripButton2 = New System.Windows.Forms.ToolStripButton()
        Me.ToolStripButton3 = New System.Windows.Forms.ToolStripButton()
        Me.ToolStripButton4 = New System.Windows.Forms.ToolStripButton()
        Me.ToolStrip1.SuspendLayout()
        Me.SuspendLayout()
        '
        'WebBrowser1
        '
        Me.WebBrowser1.Dock = System.Windows.Forms.DockStyle.Fill
        Me.WebBrowser1.Location = New System.Drawing.Point(0, 25)
        Me.WebBrowser1.MinimumSize = New System.Drawing.Size(20, 20)
        Me.WebBrowser1.Name = "WebBrowser1"
        Me.WebBrowser1.Size = New System.Drawing.Size(741, 431)
        Me.WebBrowser1.TabIndex = 0
        '
        'ToolStrip1
        '
        Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripButton1, Me.ToolStripButton2, Me.ToolStripButton3, Me.ToolStripButton4})
        Me.ToolStrip1.Location = New System.Drawing.Point(0, 0)
        Me.ToolStrip1.Name = "ToolStrip1"
        Me.ToolStrip1.Size = New System.Drawing.Size(741, 25)
        Me.ToolStrip1.TabIndex = 1
        Me.ToolStrip1.Text = "ToolStrip1"
        '
        'ToolStripButton1
        '
        Me.ToolStripButton1.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text
        Me.ToolStripButton1.Image = CType(resources.GetObject("ToolStripButton1.Image"), System.Drawing.Image)
        Me.ToolStripButton1.ImageTransparentColor = System.Drawing.Color.Magenta
        Me.ToolStripButton1.Name = "ToolStripButton1"
        Me.ToolStripButton1.Size = New System.Drawing.Size(23, 22)
        Me.ToolStripButton1.Text = "5"
        '
        'ToolStripButton2
        '
        Me.ToolStripButton2.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text
        Me.ToolStripButton2.Image = CType(resources.GetObject("ToolStripButton2.Image"), System.Drawing.Image)
        Me.ToolStripButton2.ImageTransparentColor = System.Drawing.Color.Magenta
        Me.ToolStripButton2.Name = "ToolStripButton2"
        Me.ToolStripButton2.Size = New System.Drawing.Size(23, 22)
        Me.ToolStripButton2.Text = "10"
        '
        'ToolStripButton3
        '
        Me.ToolStripButton3.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text
        Me.ToolStripButton3.Image = CType(resources.GetObject("ToolStripButton3.Image"), System.Drawing.Image)
        Me.ToolStripButton3.ImageTransparentColor = System.Drawing.Color.Magenta
        Me.ToolStripButton3.Name = "ToolStripButton3"
        Me.ToolStripButton3.Size = New System.Drawing.Size(23, 22)
        Me.ToolStripButton3.Text = "15"
        '
        'ToolStripButton4
        '
        Me.ToolStripButton4.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text
        Me.ToolStripButton4.Image = CType(resources.GetObject("ToolStripButton4.Image"), System.Drawing.Image)
        Me.ToolStripButton4.ImageTransparentColor = System.Drawing.Color.Magenta
        Me.ToolStripButton4.Name = "ToolStripButton4"
        Me.ToolStripButton4.Size = New System.Drawing.Size(23, 22)
        Me.ToolStripButton4.Text = "20"
        '
        'Form1
        '
        Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
        Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
        Me.ClientSize = New System.Drawing.Size(741, 456)
        Me.Controls.Add(Me.WebBrowser1)
        Me.Controls.Add(Me.ToolStrip1)
        Me.Name = "Form1"
        Me.Text = "Form1"
        Me.ToolStrip1.ResumeLayout(False)
        Me.ToolStrip1.PerformLayout()
        Me.ResumeLayout(False)
        Me.PerformLayout()
 
    End Sub
 
    Friend WithEvents WebBrowser1 As WebBrowser
    Friend WithEvents ToolStrip1 As ToolStrip
    Friend WithEvents ToolStripButton1 As ToolStripButton
    Friend WithEvents ToolStripButton2 As ToolStripButton
    Friend WithEvents ToolStripButton3 As ToolStripButton
    Friend WithEvents ToolStripButton4 As ToolStripButton
End Class
Код формы таким
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Public Class Form1
 
 
    Sub selectValue(value As String)
        Dim opt5 = Aggregate opt As HtmlElement In WebBrowser1.Document.GetElementById("propSelConfirm").GetElementsByTagName("OPTION") _
                         Where opt.GetAttribute("value") = value Into FirstOrDefault
 
        If opt5 IsNot Nothing Then opt5.SetAttribute("selected", True)
    End Sub
 
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        WebBrowser1.Navigate(IO.Path.Combine(Application.StartupPath, "HTMLPage1.html"))
    End Sub
 
    Private Sub ToolStripButtons_Click(sender As Object, e As EventArgs) Handles ToolStripButton4.Click, ToolStripButton3.Click, ToolStripButton2.Click, ToolStripButton1.Click
        selectValue(CType(sender, ToolStripButton).Text)
    End Sub
End Class
Добавь в проект HTML-страницу следующего содержания
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<!DOCTYPE html>
 
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="utf-8" />
    <title></title>
</head>
<body>
    <DIV class=ui-block-b>
        <DIV class=ui-select>
            <DIV class="ui-btn ui-btn-up-g ui-shadow ui-btn-corner-all ui-btn-icon-right" jQuery1910874087686255262="272" data-theme="g" data-iconpos="right" data-icon="arrow-d" data-corners="true" data-shadow="true" data-iconshadow="true" data-wrapperEls="span">
                <SPAN class=ui-btn-inner jQuery1910874087686255262="273">
                    <SPAN class=ui-btn-text jQuery1910874087686255262="274">
                        <SPAN>Я Буду через...</SPAN>
                    </SPAN><SPAN class="ui-icon ui-icon-arrow-d ui-icon-shadow" jQuery1910874087686255262="275">&nbsp;</SPAN>
                </SPAN>
                <SELECT id=propSelConfirm jQuery1910874087686255262="270" data-theme="g" data-native-menu="true">
                    <OPTION selected value="">Я Буду через...</OPTION>
                    <OPTION value=5>5 мин.</OPTION>
                    <OPTION value=10>10 мин.</OPTION>
                    <OPTION value=15>15 мин.</OPTION>
                    <OPTION value=20>20 мин.</OPTION>
                    <OPTION value=25>25 мин.</OPTION>
                    <OPTION value=30>30 мин.</OPTION>
                    <OPTION value=35>35 мин.</OPTION>
                    <OPTION value=40>40 мин.</OPTION>
                </SELECT>
            </DIV>
        </DIV>
    </DIV>
</body>
</html>
В коде загрузки формы в браузер грузится именно она. И убедись, что все работает. Там в меню четыре кнопки, при нажатии каждой из них на страничке будет в селекте выбираться именна та опция, у которой атрибут value соответствует тексту на кнопке.
На всякий случай прилагаю проект vs 2015, запустить ты его не сможешь, но сможешь изучить подробно и запустить собранную версию из папки Release.
Вложения
Тип файла: zip select.zip (121.8 Кб, 4 просмотров)
1
1 / 1 / 0
Регистрация: 05.07.2015
Сообщений: 42
15.09.2015, 13:33  [ТС]
возможно я не весь HTML код предоставил?
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<div data-role="page" id="proposePage" data-theme="e" data-url="proposePage" tabindex="0" class="ui-page ui-body-e ui-page-footer-fixed ui-page-active" style="padding-bottom: 38px; min-height: 464px;">
        <div data-role="header" class="header ui-header ui-bar-e ui-bar-connecting" data-theme="e" role="banner">
                <h1 id="ProposeTitle" class="ui-title" role="heading" aria-level="1"><span class="clock"><span class="clock">13:00</span></span> Предложение заказа </h1>
  <a href="" data-role="button" id="repropose" class="ui-btn-right ui-btn ui-btn-up-e ui-shadow ui-btn-corner-all" data-theme="e" data-corners="true" data-shadow="true" data-iconshadow="true" data-wrapperels="span"><span class="ui-btn-inner"><span class="ui-btn-text">Прозевал</span></span></a>      </div>
 
        <div data-role="content" data-theme="e" id="proposeCont" class="ui-content ui-body-e" role="main">
            <a href="#" id="btnVoice" style="display: none" data-role="button" data-corners="true" data-shadow="true" data-iconshadow="true" data-wrapperels="span" data-theme="e" class="ui-btn ui-btn-up-e ui-shadow ui-btn-corner-all"><span class="ui-btn-inner"><span class="ui-btn-text">Озвучивание заказа</span></span></a>
                
                <script id="proposeTemplate" type="text/x-jquery-tmpl">
                    <div id="proposeTime">
                    {{if $data.time != "Тек." }}<b>${time}</b>
                    {{/if}}</div>
                        <div id="proposeAddress">
                            {{each addr}}
                                {{if $index == 0}}<b>{{/if}}
                                    ${$value}{{if $index == 0 && $data.podezd != "" && $data.podezd != null }}, {{if ng.shPod != ''}}${ng.shPod}{{/if}} ${podezd}
                                {{/if}}</b>
                                <br/>
                            {{/each}}
                        </div>
                        <div id="proposeRegion"><div id="proposeDistance">${distance} км.</div>, ${regName}</div>
                        <div id="proposeInfo">
                            {{if $data.zakazInfo.length > 0}}
                                {{each zakazInfo}}
                                    ${$value}<br/>
                                {{/each}}
                            {{/if}}
                        </div>
                        <div id="proposeClInfo">
                            {{if $data.clientInfo.length > 0}}
                                {{each clientInfo}}
                                    ${$value}<br/>
                                {{/each}}
                            {{/if}}
                        </div>
                        <div id="proposeChannel">${channel}</div>
                        <div id="proposeWait">Жду <div id="proposeWaitTime">${waitResp}</div> сек.</div>
                </script>
 
                <div id="proposeHolder"></div>
                <fieldset id="proposeConfirmHolder" class="ui-grid-a" style="display: none;">
                        <div class="ui-block-a"><div data-corners="true" data-shadow="true" data-iconshadow="true" data-wrapperels="span" data-theme="f" data-disabled="false" class="ui-submit ui-btn ui-btn-up-f ui-shadow ui-btn-corner-all" aria-disabled="false"><span class="ui-btn-inner"><span class="ui-btn-text">Отмена</span></span><button id="proposeCancel" type="submit" data-theme="f" class="ui-btn-hidden" data-disabled="false">Отмена</button></div></div>
                        <div class="ui-block-b"><div class="ui-select"><div data-corners="true" data-shadow="true" data-iconshadow="true" data-wrapperels="span" data-icon="arrow-d" data-iconpos="right" data-theme="g" class="ui-btn ui-btn-up-g ui-shadow ui-btn-corner-all ui-btn-icon-right"><span class="ui-btn-inner"><span class="ui-btn-text"><span>Я Буду через...</span></span><span class="ui-icon ui-icon-arrow-d ui-icon-shadow">&nbsp;</span></span><select id="propSelConfirm" data-native-menu="true" data-theme="g"><option value="">Я Буду через...</option><option value="5">5 мин.</option><option value="10">10 мин.</option><option value="15">15 мин.</option><option value="20">20 мин.</option><option value="25">25 мин.</option><option value="30">30 мин.</option><option value="35">35 мин.</option><option value="40">40 мин.</option></select></div></div></div>                </fieldset>
        </div>
 
  
        <div data-role="footer" class="footer ui-footer ui-bar-a ui-footer-fixed slideup ui-bar-connecting" data-position="fixed" data-theme="a" role="contentinfo">
            <div class="mesBar"> </div>
            <div data-role="navbar" class="ui-navbar ui-mini" role="navigation">
                <ul class="ui-grid-b">
                   <li class="ui-block-a"><a href="#mainPage" class="ui-btn ui-btn-up-a ui-btn-inline" data-corners="false" data-shadow="false" data-iconshadow="true" data-wrapperels="span" data-theme="a" data-inline="true"><span class="ui-btn-inner"><span class="ui-btn-text">Главная</span></span></a></li>
                   <li class="ui-block-b"><a href="" class="pnktOrder ui-btn-active ui-state-persist ui-btn ui-btn-inline ui-btn-up-a" data-corners="false" data-shadow="false" data-iconshadow="true" data-wrapperels="span" data-theme="a" data-inline="true"><span class="ui-btn-inner"><span class="ui-btn-text">Заказы</span></span></a></li>
                   <li class="ui-block-c"><a href="" class="btn-back ui-btn ui-btn-up-a ui-btn-inline" data-corners="false" data-shadow="false" data-iconshadow="true" data-wrapperels="span" data-theme="a" data-inline="true"><span class="ui-btn-inner"><span class="ui-btn-text">Назад</span></span></a></li>
                </ul>
            </div>
        </div>   </div>
Ваша программа работает, но если я поставлю в WebBrowser1.Navigate(IO.Path.Combine(App lication.StartupPath, "HTMLPage1.html")) адрес сервера то опять ничего не происходит.

Добавлено через 11 минут
запрос вызываю искуственно
VB.NET
1
WebBrowser1.Document.GetElementById("proposeConfirmHolder").Style = "display: block;"
Появляется окно с выбором. а как нажать на это окно и сделать выбор "5 мин." программно не понимаю.

Добавлено через 2 минуты
Отмена нажимается просто по ID
VB.NET
1
WebBrowser1.Document.GetElementById("proposeCancel").InvokeMember("Click")
0
 Аватар для diadiavova
7261 / 2608 / 745
Регистрация: 11.04.2015
Сообщений: 4,155
Записей в блоге: 43
15.09.2015, 20:51
Цитата Сообщение от Antontth Посмотреть сообщение
Ваша программа работает, но если я поставлю в WebBrowser1.Navigate(IO.Path.Combine(App lication.StartupPath, "HTMLPage1.html")) адрес сервера то опять ничего не происходит.
Не знаю, заменил в том же приложении код страницы на такой
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<!DOCTYPE html>
 
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="utf-8" />
    <title></title>
</head>
<body>
    <div data-role="page" id="proposePage" data-theme="e" data-url="proposePage" tabindex="0" class="ui-page ui-body-e ui-page-footer-fixed ui-page-active" style="padding-bottom: 38px; min-height: 464px;">
        <div data-role="header" class="header ui-header ui-bar-e ui-bar-connecting" data-theme="e" role="banner">
            <h1 id="ProposeTitle" class="ui-title" role="heading" aria-level="1"><span class="clock"><span class="clock">13:00</span></span> Предложение заказа </h1>
            <a href="" data-role="button" id="repropose" class="ui-btn-right ui-btn ui-btn-up-e ui-shadow ui-btn-corner-all" data-theme="e" data-corners="true" data-shadow="true" data-iconshadow="true" data-wrapperels="span"><span class="ui-btn-inner"><span class="ui-btn-text">Прозевал</span></span></a>
        </div>
 
        <div data-role="content" data-theme="e" id="proposeCont" class="ui-content ui-body-e" role="main">
            <a href="#" id="btnVoice" style="display: none" data-role="button" data-corners="true" data-shadow="true" data-iconshadow="true" data-wrapperels="span" data-theme="e" class="ui-btn ui-btn-up-e ui-shadow ui-btn-corner-all"><span class="ui-btn-inner"><span class="ui-btn-text">Озвучивание заказа</span></span></a>
 
            <script id="proposeTemplate" type="text/x-jquery-tmpl">
                <div id="proposeTime">
                    {{if $data.time != "Тек." }}<b>${time}</b>
                    {{/if}}
                </div>
                <div id="proposeAddress">
                    {{each addr}}
                    {{if $index == 0}}<b>
                        {{/if}}
                        ${$value}{{if $index == 0 && $data.podezd != "" && $data.podezd != null }}, {{if ng.shPod != ''}}${ng.shPod}{{/if}} ${podezd}
                        {{/if}}
                    </b>
                    <br />
                    {{/each}}
                </div>
                <div id="proposeRegion"><div id="proposeDistance">${distance} км.</div>, ${regName}</div>
                <div id="proposeInfo">
                    {{if $data.zakazInfo.length > 0}}
                    {{each zakazInfo}}
                    ${$value}<br />
                    {{/each}}
                    {{/if}}
                </div>
                <div id="proposeClInfo">
                    {{if $data.clientInfo.length > 0}}
                    {{each clientInfo}}
                    ${$value}<br />
                    {{/each}}
                    {{/if}}
                </div>
                <div id="proposeChannel">${channel}</div>
                <div id="proposeWait">Жду <div id="proposeWaitTime">${waitResp}</div> сек.</div>
            </script>
 
            <div id="proposeHolder"></div>
            <fieldset id="proposeConfirmHolder" class="ui-grid-a" style="">
                <div class="ui-block-a"><div data-corners="true" data-shadow="true" data-iconshadow="true" data-wrapperels="span" data-theme="f" data-disabled="false" class="ui-submit ui-btn ui-btn-up-f ui-shadow ui-btn-corner-all" aria-disabled="false"><span class="ui-btn-inner"><span class="ui-btn-text">Отмена</span></span><button id="proposeCancel" type="submit" data-theme="f" class="ui-btn-hidden" data-disabled="false">Отмена</button></div></div>
                <div class="ui-block-b"><div class="ui-select"><div data-corners="true" data-shadow="true" data-iconshadow="true" data-wrapperels="span" data-icon="arrow-d" data-iconpos="right" data-theme="g" class="ui-btn ui-btn-up-g ui-shadow ui-btn-corner-all ui-btn-icon-right"><span class="ui-btn-inner"><span class="ui-btn-text"><span>Я Буду через...</span></span><span class="ui-icon ui-icon-arrow-d ui-icon-shadow">&nbsp;</span></span><select id="propSelConfirm" data-native-menu="true" data-theme="g"><option value="">Я Буду через...</option><option value="5">5 мин.</option><option value="10">10 мин.</option><option value="15">15 мин.</option><option value="20">20 мин.</option><option value="25">25 мин.</option><option value="30">30 мин.</option><option value="35">35 мин.</option><option value="40">40 мин.</option></select></div></div></div>
            </fieldset>
        </div>
 
 
        <div data-role="footer" class="footer ui-footer ui-bar-a ui-footer-fixed slideup ui-bar-connecting" data-position="fixed" data-theme="a" role="contentinfo">
            <div class="mesBar"> </div>
            <div data-role="navbar" class="ui-navbar ui-mini" role="navigation">
                <ul class="ui-grid-b">
                    <li class="ui-block-a"><a href="#mainPage" class="ui-btn ui-btn-up-a ui-btn-inline" data-corners="false" data-shadow="false" data-iconshadow="true" data-wrapperels="span" data-theme="a" data-inline="true"><span class="ui-btn-inner"><span class="ui-btn-text">Главная</span></span></a></li>
                    <li class="ui-block-b"><a href="" class="pnktOrder ui-btn-active ui-state-persist ui-btn ui-btn-inline ui-btn-up-a" data-corners="false" data-shadow="false" data-iconshadow="true" data-wrapperels="span" data-theme="a" data-inline="true"><span class="ui-btn-inner"><span class="ui-btn-text">Заказы</span></span></a></li>
                    <li class="ui-block-c"><a href="" class="btn-back ui-btn ui-btn-up-a ui-btn-inline" data-corners="false" data-shadow="false" data-iconshadow="true" data-wrapperels="span" data-theme="a" data-inline="true"><span class="ui-btn-inner"><span class="ui-btn-text">Назад</span></span></a></li>
                </ul>
            </div>
        </div>
    </div>
</body>
</html>
Все работает. Единственное изменение, которое внес, это затер display:none. А то, что у тебя не работает какая-то другая страница, так что я тут могу сделать, если я эту страницу даже не видел?
1
1 / 1 / 0
Регистрация: 05.07.2015
Сообщений: 42
15.09.2015, 20:58  [ТС]
HTML5
1
<div class="ui-block-b"><div class="ui-select"><div data-corners="true" data-shadow="true" data-iconshadow="true" data-wrapperels="span" data-icon="arrow-d" data-iconpos="right" data-theme="g" class="ui-btn ui-btn-up-g ui-shadow ui-btn-corner-all ui-btn-icon-right"><span class="ui-btn-inner"><span class="ui-btn-text"><span>Я Буду через...</span
быть может с начало надо нажать на "Я Буду через...", а потом то, о чем вы писали?
0
 Аватар для diadiavova
7261 / 2608 / 745
Регистрация: 11.04.2015
Сообщений: 4,155
Записей в блоге: 43
15.09.2015, 21:00
Цитата Сообщение от Antontth Посмотреть сообщение
быть может с начало надо нажать на "Я Буду через..."
Зачем? Я по-моему перестаю понимать, что происходит.
1
1 / 1 / 0
Регистрация: 05.07.2015
Сообщений: 42
15.09.2015, 21:19  [ТС]
VB.NET
1
 WebBrowser1.Document.GetElementById("proposeConfirmHolder").Style = "display: block;"
меняет
HTML5
1
    <fieldset id="proposeConfirmHolder" class="ui-grid-a" style="display: block;">
display:none на display:block
и тогда только появляются 2 кнопки как показанно на рисунке в самом начале.
одна кнопка "отмена", а вторая"я буду через..."
без display: none измененных на display:block кнопки не появятся.

Добавлено через 6 минут
страницу могу кинуть только на mail
0
 Аватар для diadiavova
7261 / 2608 / 745
Регистрация: 11.04.2015
Сообщений: 4,155
Записей в блоге: 43
15.09.2015, 21:34
Antontth, ну открыл ты этот филдсет, все что нужно появилось. Дальше какая проблема? Ты это делаешь программно, я сделал прямо в коде, но дальше нужная опция спокойно выбирается тем кодом, который я показал. Что еще непонятно?
1
1 / 1 / 0
Регистрация: 05.07.2015
Сообщений: 42
15.09.2015, 22:10  [ТС]
после выбора:
Должно появиться сообщение "Выбрано 5 с."
Но этого ничего нет, и кнопки должны уйти, но они в ожидании.
0
 Аватар для diadiavova
7261 / 2608 / 745
Регистрация: 11.04.2015
Сообщений: 4,155
Записей в блоге: 43
15.09.2015, 22:15
Здесь используется какой-то неизвестный мне фреймворк, все эти действия прописаны в нем, так что я вряд ли смогу помочь тебе в этом вопросе.
1
1 / 1 / 0
Регистрация: 05.07.2015
Сообщений: 42
16.09.2015, 01:03  [ТС]
Ну, хорошо спасибо.
может что-то придумаю.
VB.NET
1
2
3
4
5
6
 If WebBrowser1.Document.GetElementById("proposeConfirmHolder").Style = "DISPLAY: block" Then
            WebBrowser1.Document.GetElementById("propSelConfirm").Focus()
            WebBrowser1.Document.GetElementById("propSelConfirm").DomElement.selectedindex = 5
            SendKeys.Send(Keys.D5)
            SendKeys.Send(Keys.Enter)
        End If
с этим кодом получается нормально.
только программа должна находиться на поверхности всегда, а это не очень удобно.
Все большое спасибо.

Добавлено через 2 часа 44 минуты
Есть кое-какая идея, ну в коде:
HTML5
1
<DIV class="ui-btn ui-btn-up-g ui-shadow ui-btn-corner-all ui-btn-icon-right" data-theme="g" data-iconpos="right" data-icon="arrow-d" data-corners="true" data-shadow="true" data-iconshadow="true" data-wrapperEls="span" jQuery1910690826793089717="262"><SPAN class=ui-btn-inner jQuery1910690826793089717="263"><SPAN class=ui-btn-text jQuery1910690826793089717="264"><SPAN>Я Буду через...</SPAN></SPAN><SPAN class="ui-icon ui-icon-arrow-d ui-icon-shadow" jQuery1910690826793089717="265">&nbsp;</SPAN></SPAN><SELECT id=propSelConfirm data-theme="g" data-native-menu="true" jQuery1910690826793089717="260"><OPTION selected value="">Я Буду через...</OPTION><OPTION value=5>5 мин.</OPTION><OPTION value=10>10 мин.</OPTION><OPTION value=15>15 мин.</OPTION><OPTION value=20>20 мин.</OPTION><OPTION value=25>25 мин.</OPTION><OPTION value=30>30 мин.</OPTION><OPTION value=35>35 мин.</OPTION><OPTION value=40>40 мин.</OPTION></SELECT></DIV></DIV>
надо :
HTML5
1
class="ui-btn ui-shadow ui-btn-corner-all ui-btn-icon-right ui-btn-up-g"
программно переделать в:
HTML5
1
class="ui-btn ui-shadow ui-btn-corner-all ui-btn-icon-right ui-btn-hover-g ui-focus ui-btn-active ui-btn-down-g"
Тогда фокус наведется именно на мою кнопку и возможно у меня получится.
Только проблема, я не знаю как?
VB.NET
1
WebBrowser1.Document.GetElementsByTagName("DIV").Item(24).SetAttribute("class", ("ui-btn ui-shadow ui-btn-corner-all ui-btn-icon-right ui-btn-hover-g ui-focus ui-btn-active ui-btn-down-g"))
Добавляет еще "class", но не заменяет его.
0
 Аватар для diadiavova
7261 / 2608 / 745
Регистрация: 11.04.2015
Сообщений: 4,155
Записей в блоге: 43
16.09.2015, 19:30
Цитата Сообщение от Antontth Посмотреть сообщение
Только проблема, я не знаю как?
Попробуй вместо class использовать имя атрибута className
1
1 / 1 / 0
Регистрация: 05.07.2015
Сообщений: 42
17.09.2015, 01:21  [ТС]
Ваша программа верна!
Просто мне нужно чтобы при выборе, например "5 мин"
происходило что-то вроде события click,
как-будто вы сделали выбор мышкой.
0
 Аватар для diadiavova
7261 / 2608 / 745
Регистрация: 11.04.2015
Сообщений: 4,155
Записей в блоге: 43
17.09.2015, 11:38
Цитата Сообщение от Antontth Посмотреть сообщение
Просто мне нужно чтобы при выборе, например "5 мин"
происходило что-то вроде события click,
как-будто вы сделали выбор мышкой.
Вроде события click - это непонятно. Клик ты уже делал и, насколько я понимаю, это не сработало. Возможно там обрабатывается какое-то другое событие. Например событие change не происходит при программном выборе элемента. Но тут проблема в том, что вызывать это событие так же как клик не получится. То есть, для того, чтобы выполнились те же действия, которые выполняются при выборе пункта списка, придется либо найти функцию-обработчик этого события и вызывать ее, либо выполнить те же действия, которые выполняет она. Если она просто запускает окно сообщения с текстом, уведомляющим какая опция выбрана, то это сделать несложно, а вот если она еще что-то делает, то тут уже все зависит от того, что именно она делает.
VB.NET
1
2
3
4
5
6
7
8
    Sub selectValue(value As String)
        Dim opt5 = Aggregate opt As HtmlElement In WebBrowser1.Document.GetElementById("propSelConfirm").GetElementsByTagName("OPTION")
                         Where opt.GetAttribute("value") = value Into FirstOrDefault
 
        If opt5 IsNot Nothing Then opt5.SetAttribute("selected", True)
        WebBrowser1.Document.InvokeScript("alert", New String() {"Выбран элемент со значением " & value})
 
    End Sub
Что до первого варианта(с вызовом обработчика), то тут все зависит от твоей способности найти этот самый обработчик в скриптах.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.09.2015, 11:38

Нажать на кнопку в WebBrowser
На этом сайте нужно нажать кнопку ВОЙТИ http://www.uid.me/ Такой код не сработал : ...

Нажать на объект в Webbrowser
Программисты помогите нажать на &quot;Кнопу&quot; вот сайм сайт http://www.esetnod32.ru/partners/loyalty_program/overview/#1 кнопка - Получить ...

Нажать на кнопку в webbrowser
Всем привет. Как нажать программно нажать на кнопку такого вида через webbrowser &lt;div class=&quot;button_blue button_wide...

Нажать на кнопку в WebBrowser
Добрый день, Уважаемые, прошу помощи, ибо сообразить никак не могу... В WebBrowser подгружается небольшая, но многостраничная таблица,...

Нажать кнопку WebBrowser
Есть одна кнопка на сайте (вот ее код): &lt;td&gt;&lt;a href=&quot;#&quot; onclick=&quot;Ncucu.Login(document.forms);&quot;&gt; &lt;img...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Опции темы

Новые блоги и статьи
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru