【问题标题】:Excel VBA using Selenium - Select Chrome Web DropDown List使用 Selenium 的 Excel VBA - 选择 Chrome Web 下拉列表
【发布时间】:2022-02-14 02:53:22
【问题描述】:

在“EndIf”行之前完成我的 VBA 代码。请帮我从 Target Inspect HTML code 下方选择 Gender。 下面是我写到现在的代码。请帮忙完成。

Sub google_search()
    Dim row As Integer
    row = 2
    Dim bot As WebDriver
    Set bot = New WebDriver
    bot.Start "chrome"
    bot.Get "https://abcd.com/"     



    bot.FindElementbyName("patient_name").SendKeys "Value"
    bot.FindElementbyName("patient_id").SendKeys "Value"

    If Sheet1.Cells(row, 4) = "Years" Then
       bot.FindElementById("age_year").Click
       bot.FindElementbyName("age").SendKeys "Value"
    Else
    If Sheet1.Cells(row, 4) = "Months" Then
       bot.FindElementById("age_month").Click
       bot.FindElementbyName("age").SendKeys "Value"
    Else
    End If
    End If

    If Sheet1.Cells(row, 6) = "M" Then
    
        ...........................................................
        
    End If

 


    Stop

    End Function

本次检查的目标站点

<div class="form-group">

<label for="gender">Gender</label><span class="text-danger"><b> *</b></span>

<select name="gender" id="gender" class="form-control">

<option value="">Select Gender</option>

<option value="M">Male</option>

<option value="F">Female</option>

<option value="T">Transgender</option>

</select>

</div>

【问题讨论】:

    标签: excel vba selenium


    【解决方案1】:

    您提供了 2 次 End If,这将引发错误。这应该是您的正确代码。

    Sub google_search()
    Dim row As Integer
    row = 2
    Dim bot As WebDriver
    Set bot = New WebDriver
    bot.Start "chrome"
    bot.Get "https://abcd.com/" 
    
    bot.FindElementbyName("patient_name").SendKeys Sheet1.Cells(row, 2).Value
    bot.FindElementbyName("patient_id").SendKeys Sheet1.Cells(row, 3).Value
    
    If Sheet1.Cells(row, 4) = "Years" Then
        bot.FindElementById("age_year").Click
        bot.FindElementbyName("age").SendKeys Sheet1.Cells(row, 5).Value
    ElseIf Sheet1.Cells(row, 4) = "Months" Then
        bot.FindElementById("age_month").Click
        bot.FindElementbyName("age").SendKeys Sheet1.Cells(row, 5).Value
    End If
    
    
    If Sheet1.Cells(row, 6) = "M" Then
        Dim GenderDD As Selenium.WebElement
        Set GenderDD=bot.FindElementById("gender")
        GenderDD.AsSelect.SelectByText(Sheet1.Cells(row, 6).value)
    End If
    
     
    
    
    Stop
    
    End Function
    

    【讨论】:

    • 请关注虚线(就在 EndIf 之前).. 我想通过 Selenium Bot 选择从 Excel 到 Web 的性别。你说的连错误都算不上。
    • 现在我们关注的是真正的问题,它在特定行显示错误“语法错误 - 编译错误”是在开始代码中添加的任何库 cmd 吗?
    • 我已经稍微改变如下 Dim Element As Selenium.WebElement Set Element GenderDD=bot.FindElementById("gender")。立即查看
    • 编译错误 - 预期:= 在 GenderDD 上突出显示
    • 这里是变化 Dim GenderDD As Selenium.WebElement Set GenderDD=bot.FindElementById("gender") GenderDD.AsSelect.SelectByText(Sheet1.Cells(row, 6).value)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-21
    • 2019-02-13
    • 1970-01-01
    相关资源
    最近更新 更多