我使用selenium wrapper(通过VBA)在我的wordpress
网站上运行自动化测试。
单击登录按钮时,出现此错误:
ERROR: Cookies are blocked or not supported by your browser
我已更改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
答案 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