Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel VBA w/selenium包装器:在web表单字段中输入数据_Vba_Excel_Selenium - Fatal编程技术网

Excel VBA w/selenium包装器:在web表单字段中输入数据

Excel VBA w/selenium包装器:在web表单字段中输入数据,vba,excel,selenium,Vba,Excel,Selenium,使用selenium包装器,如何将所选数据输入到下面的输入值占位符中?这是用于网页抓取的目的。网站代码如下: <input value="" placeholder="Enter Text" autocomplete="off" aria- label="Enter Text: name and age required" data- reactid=".9odxj7ein7k.0.0.9.0.0.$body.2.9.0.0.9.0.0.0.9.0"> 所以有几件事,根据定义,El

使用selenium包装器,如何将所选数据输入到下面的输入值占位符中?这是用于网页抓取的目的。网站代码如下:

<input value="" placeholder="Enter Text" autocomplete="off" aria-
label="Enter Text: name and age required" data-
reactid=".9odxj7ein7k.0.0.9.0.0.$body.2.9.0.0.9.0.0.0.9.0">

所以有几件事,根据定义,ElementID是唯一的,因此
getElementsByID
应该是
getElementByID
。另外,
input
是标记名,id由属性
id=“SomeID”
标记。我认为您想要的是选择页面上的所有输入标记名,然后找到唯一的属性。看起来您可以使用
标签
reactid
@ryanwildry感谢您的洞察力。我做了一些调整,我可以在没有selenium包装(使用IE)的情况下让更新的代码正常工作。我使用包装器的唯一原因是,当使用IE时,网页不会完全加载——因此我有两条路径:1)让IE页面完全加载(我有
循环,直到objIE.ReadyState=4
,但是这个页面内容太多);或者2)让selenium包装器代码正常工作(错误似乎出现在
设置_input_elements=bot.Document.GetElementsByTagName(“input”)
注意此代码非常适合非selenium包装器解决方案)。谢谢。有几件事,根据定义,ElementID是唯一的,因此
getElementsByID
应该是
getElementByID
。另外,
input
是标记名,id由属性
id=“SomeID”
标记。我认为您想要的是选择页面上的所有输入标记名,然后找到唯一的属性。看起来您可以使用
标签
reactid
@ryanwildry感谢您的洞察力。我做了一些调整,我可以在没有selenium包装(使用IE)的情况下让更新的代码正常工作。我使用包装器的唯一原因是,当使用IE时,网页不会完全加载——因此我有两条路径:1)让IE页面完全加载(我有
循环,直到objIE.ReadyState=4
,但是这个页面内容太多);或者2)让selenium包装器代码正常工作(错误似乎出现在
设置_input_elements=bot.Document.GetElementsByTagName(“input”)
注意此代码非常适合非selenium包装器解决方案)。非常感谢。
Private Sub CommandButton3_Click()
Dim bot As New WebDriver
bot.Start "chrome", "url”

Set the_input_elements = bot.Document.getElementsByID("input value")
For Each input_element In the_input_elements
If input_element.getAttribute("input value") = "" Then
    input_element.Value = "Text I would like to enter to the form"
    Exit For
End If
Next input_element

End Sub