嗨我正在使用ghostdriver for selenium。我试图登录谷歌adwords但由于某种原因我有极端的问题。
这是我的代码:
Dim driver As New PhantomJSDriver
Dim options = New PhantomJSOptions()
options.AddAdditionalCapability("phantomjs.page.settings.userAgent", "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36")
driver.Navigate.GoToUrl("https://accounts.google.com/ServiceLogin?service=adwords&continue=https://adwords.google.com/um/identity?dst%3D/ko/KeywordPlanner/Home&hl=en_US<mpl=signin&passive=0&skipvpage=true#identifier")
driver.Manage.Window.Maximize()
Dim i As IWebElement = driver.FindElementByName("Email")
Dim a As New Actions(driver)
a.MoveToElement(i).Click().Perform()
Dim jse As IJavaScriptExecutor = DirectCast(driver, IJavaScriptExecutor)
jse.ExecuteScript("document.getElementById('Email').focus();")
Dim nextbtn As IWebElement = driver.FindElementById("link-signup")
nextbtn.Click()
Try
Dim ss As Screenshot = DirectCast(driver, ITakesScreenshot).GetScreenshot()
ss.SaveAsFile("D:\SeleniumTestingScreenshot.jpg", System.Drawing.Imaging.ImageFormat.Jpeg)
Catch
End Try
正如您所看到的,这是一个非常简单的过程。问题是页面上的所有内容都显示为灰色(我已通过屏幕截图查看)。就好像某些内容未正确加载到页面上并导致文本框或按钮或链接变为活动状态。我不能点击任何东西。我尝试了很多不同的东西,但没有什么对我有用。 Javascript已启用,我已更改用户代理,以防phantomjs被阻止。对此问题的任何帮助将不胜感激。我可以使用c#或vb.net这没关系。我觉得谷歌在这里很棘手。
答案 0 :(得分:1)
我相信我在这里解决了这个问题。这很简单,我觉得很快就没有看到它。似乎所有东西都被触发,所以快速的东西没有时间正确加载。所以我添加了一个简单的threading.thread.sleep命令,在动作和事物之间似乎现在工作正常。一切都是灰色的,因为它是在元素加载正确之前截断屏幕截图。