我在vba中编写了一个与Selenium相关的脚本,以在某个种子站点中启动搜索。我的脚本运行良好,但问题是我必须在脚本中使用hardcoded delay
才能使其成功。我现在想做的是通过从我的脚本中踢出硬编码延迟来使用某种循环或任何类似的方式来检查所需元素的可用性。对此的任何帮助将不胜感激。
这是我到目前为止的尝试(工作之一(:
Sub SearchItem()
With New ChromeDriver
.get "https://torrentz2.eu/"
Application.Wait Now + TimeValue("00:00:10") ''I wish to shake this hardcoded delay off
.FindElementByCss("#thesearchbox").SendKeys ("Udemy")
.FindElementByCss("#thesearchbutton").Click
End With
End Sub
参考添加:
Selenium Type Library
似乎已经找到了解决方案。有一个指向github的链接,Florent B.
提供了一个很好的解决方案,说明脚本应该如何等待所需的元素可用。
脚本应该是这样的:
Sub SearchItem()
With New ChromeDriver
.get "https://torrentz2.eu/"
.FindElementByCss("#thesearchbox", timeout:=10000).SendKeys "Udemy" ''wait for the element upto 10 seconds
.FindElementByCss("#thesearchbutton").Click
End With
End Sub