2016-05-31 60 views
0

我正在嘗試使用Selenium進行一些刮擦操作。以下代碼在Firefox驅動程序中效果很好,但不在IE驅動程序中。在IE中無法找到id的元素

from selenium import webdriver 
from selenium.webdriver.support.ui import WebDriverWait 

username = '[email protected]' 

browser = webdriver.Ie() 
browser.wait = WebDriverWait(browser, 10) 

loginpage = 'http://www.facebook.com' 
browser.get(loginpage) 

browser.find_element_by_id('email').clear() 
browser.find_element_by_id('email').send_keys(username) 

一些信息:

  • 運行最新版本的硒。 IE 10在Windows 10,64位上。
  • 已嘗試使用36位和64位驅動程序版本http://www.seleniumhq.org/download/
  • 對註冊表進行了建議更改。
  • 產生特定的錯誤是NoSuchElementException: Unable to find element with id == email
  • 是否嘗試設置等待至60,仍產生相同的誤差
  • 試過「兼容性視圖」特技(工具>兼容性視圖設置,添加位點)從另一個線程沒有果
  • 增強保護模式禁用

感謝所有幫助

回答

-1

你可以嘗試使用

browser.execute_script("document.getElementById('email').value='[email protected]'") 
+0

我對兩種語言都不太確定,但我試過'browser.execute_script(「document.getElementByid('email')。value = test」)'並且得到了'WebDriverException:JavaScript error'作爲回報。謝謝你的幫助。 – sundorer

+1

這是因爲他發佈的JavaScript不正確,請使用它代替: 'document.getElementById('email')。value ='test @ test.com'' – Mobrockers