由于cookie被阻止,无法使用selenium包装器登录wordpress?

时间:2016-04-28 12:05:13

标签: excel vba selenium-webdriver cookies

我使用selenium wrapper(通过VBA)在我的wordpress网站上运行自动化测试。

单击登录按钮时,出现此错误:

ERROR: Cookies are blocked or not supported by your browser

enter image description here

我已更改IE中的设置以接受所有Cookie。 Chrome默认接受Cookie,但出于某种原因,这似乎不起作用。它可能是用户代理吗?

我的wordpress版本是4.5

'Login code 
Sub InitiateLogin()

    web_driver.get "wp-login", -1, False
    web_driver.findElementById(Base64DecodeString("STUFFHERE")).SendKeys Base64DecodeString("STUFFHERE")
    web_driver.findElementById(Base64DecodeString("STUFFHERE")).SendKeys Base64DecodeString("STUFFHERE")
    web_driver.findElementById("wp-submit").Click
    web_driver.setTimeout ("120000")
    web_driver.setImplicitWait (5000)
   End Sub

2 个答案:

答案 0 :(得分:1)

我可以使用以下代码轻松登录该帐户。

Private driver As SeleniumWrapper.WebDriver

Private Sub Login()
    Set driver = New SeleniumWrapper.WebDriver
    Call driver.Start("chrome", "https://wordpress.com/")

    driver.get ("/wp-login.php")
    driver.findElementById("user_login").Clear
    driver.findElementById("user_login").SendKeys "your userid here"
    driver.findElementById("user_pass").Clear
    driver.findElementById("user_pass").SendKeys "your password here"
    driver.findElementById("wp-submit").Click
End Sub

希望这有帮助。

答案 1 :(得分:0)

我通过将页面重定向到表单的action值来修复了我的问题。使用Python,我的代码是:

...

form = driver.find_element_by_id('loginform')
form_post_url = form.get_attribute('action')

# login_url is the current URL
if login_url != form_post_url:
    driver.get(form_post_url)

form = driver.find_element_by_id('loginform')

# Do login