VBA CreateObject(“MSXML2.DOMDocument60”)抛出错误429

时间:2016-05-05 09:00:05

标签: vba access-vba ms-access-2010 msxml

我在使用 #coding=utf-8 from selenium import webdriver import time class loginout(): def test_login(self, driver): driver.get("https://en.mail.qq.com/cgi-bin/loginpage") driver.implicitly_wait(30) driver.switch_to_frame("login_frame") driver.find_element_by_id("switcher_plogin").click() driver.find_element_by_id("u").clear() driver.find_element_by_id("u").send_keys("*****") #driver.find_element_by_id("emailTips_0").click() driver.find_element_by_id("p").clear() driver.find_element_by_id("p").send_keys("****") driver.find_element_by_id("login_button").click() title=driver.title print (title) driver.implicitly_wait(30) user=driver.find_element_by_id("useraddr").text print user print "log in successfully" #driver.quit() def test_logout(self,driver): #driver.implicitly_wait(30) driver.find_element_by_xpath("//a[test()='Sign out']").click() title=driver.title print title driver.quit() #coding=utf-8 from selenium import webdriver from test_loginqq import loginout import time import unittest class my_test(unittest.TestCase): def setUp(self): print "test start" def test_test(self): driver = webdriver.Firefox() loginout().test_login(driver) loginout().test_logout(driver) def test_test0(self): a="hello" b="hello world" self.assertIn(a,b,msg='a is not in b') def tearDown(self): print "test end" if __name__=='__main__': suite=unittest.TestLoader().loadTestsFromTestCase(my_test) unittest.TextTestRunner(verbosity=2).run(suite)

声明新对象时遇到问题
CreateObject()

我不明白为什么“脚本”有效,“MSXML2”没有。

我在Windows 7 64位上使用MS Access 2010 32位。

1 个答案:

答案 0 :(得分:7)

使用后期绑定时,并不总是使用相同的名称。 ActiveX对象需要使用OLE Programmatic Identifier

将其更改为:

Set x = CreateObject("MSXML2.DOMDocument.6.0")

来自MSDN文章Building MSXML Applications

  

当您使用脚本语言时,您可以通过其ProgID识别控件,这是一种人类更容易阅读的形式。 ProgID的一个示例是Msxml2.DOMDocument.6.0