Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.67/18: Рейтинг темы: голосов - 18, средняя оценка - 4.67
1 / 1 / 0
Регистрация: 05.07.2015
Сообщений: 42

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

06.07.2015, 01:25. Показов 4032. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru