我用vba和selenium编写了一个脚本。首先,它进入主页面然后在搜索输入中放置单词“pump”,最后通过勾选复选框将它们全部选中。在选择复选框之前,它工作正常。但是,在到达该行时,它会抛出错误“元素不可见”。显然,似乎我没有做错任何事。如果有人指出我在这里缺少的东西,我会很高兴:
Sub table_data()
Dim driver As New WebDriver
With driver
.Start "chrome", "http://apps.tga.gov.au/Prod/devices"
.get "/daen-entry.aspx"
.Wait 3000
.FindElementById("disclaimer-accept").Click
.Wait 3000
.FindElementById("medicine-name").SendKeys ("pump")
.Wait 5000
.FindElementById("medicines-check-all").Click ''element not visible here
.Wait 3000
End With
End Sub
应存储元素的部分的Html元素:
<span id="medicine-widget-header-wrapper">
<span id="medicine-widget-header">
<label title="Select all">
<input type="checkbox" class="medicines-check-all">
<span id="medicines-header-text">Devices found for 'pump...'</span>
</label>
<span id="medicine-selected-count">None selected</span>
</span>
</span>
这是链接:
答案 0 :(得分:2)
根据提供的HTML
示例,"medicines-check-all"
不是ID属性的值,而是类名属性的值,因此您应该尝试
.FindElementByClassName("medicines-check-all").Click
而不是
.FindElementById("medicines-check-all").Click
答案 1 :(得分:0)
您可以尝试单击下面给出的标签,而不是单击复选框。
.FindElementById("medicines-header-text").Click