【发布时间】:2021-02-20 06:14:44
【问题描述】:
我知道如何截取网页中特定元素的屏幕截图。我尝试了几行代码来捕捉图像,但没有一个能成功捕捉到图像。 这是网站的链接https://eservices.moj.gov.kw/searchPages/searchCases.jsp 这是我的代码并尝试这部分
.Window.Maximize
.Get sURL
.Wait 2000
'.FindElementById("txtCaseNo").SendKeys "192883660"
'DecryptCaptcha
Dim obj As Object
'.FindElementByXPath("//*[@id='viewPane']/div").ScrollIntoView True
.FindElementById("viewPane").ScrollIntoView True
.Wait 2000
'.FindElementByXPath("//div/img[@src='/captcha/imgCaptcha.jsp']").ScrollIntoView True
'.FindElementByXPath("//div/img[@src='/captcha/imgCaptcha.jsp']").ScrollIntoView True
'Set obj = .FindElementByXPath("//div/img[@src='/captcha/imgCaptcha.jsp']").TakeScreenshot(3000)
Set obj = .TakeScreenshot(3000)
obj.SaveAs (ThisWorkbook.Path + "\Number.png")
.Wait 2000
我只能捕获整个页面,但我只想捕获验证码的元素。
【问题讨论】:
-
找到元素后尝试使用.ScrollIntoView().TakeScreenshot()。
-
我试过了,但同样的问题。
-
我认为它在 VBA 中不像在许多其他语言中那样工作。但那是凭记忆。
-
很久以前,我试过这样的截图,以前在VBA里也可以用!!
-
geeksforgeeks.org/screenshot-element-method-selenium-python/…。但是要确保元素是可见的,并且例如你没有 cookie 栏。