2014-11-22 94 views
1

我剛開始學習使用python的webdriver。 我想登錄到雅虎,然後執行登出。 我可以登錄,但嘗試點擊「註銷」時,它說「元素不可見」。無法使用webdriver從yahoomail註銷

我已經通過帖子「Selenium WebDriver Yahoo mail sign out error」並嘗試過類似的方式,但它不工作。

我正在使用chrome。 下面是代碼

from selenium import webdriver 
from selenium.webdriver.common.keys import Keys 
from selenium.webdriver.common.action_chains import ActionChains 

driver = webdriver.Chrome() 
driver.get("http://www.yahoomail.com") 
elem = driver.find_element_by_name("login") 
elem.send_keys("email-id") 
elem = driver.find_element_by_name("passwd") 
elem.send_keys("pwd") 
elem = driver.find_element_by_id("submit").click() 
driver.implicitly_wait(120) 
mnEle = driver.find_element_by_id("yucs-profile") 
driver.implicitly_wait(120) 
sbEle = driver.find_element_by_xpath("//a[contains(text(),'Sign Out')]").click() 
driver.implicitly_wait(120) 
ActionChains(driver).move_to_element(mnEle).perform() 
driver.implicitly_wait(120) 
driver.find_element_by_id(sbEle).click() 

感謝, 普里

回答

0

您需要點擊signout錨標記ID。我認爲你正試圖找到不適合你的文本。所以,你可以試試這個

from selenium import webdriver 
from selenium.webdriver.common.keys import Keys 
from selenium.webdriver.common.action_chains import ActionChains 

driver = webdriver.Chrome() 
driver.get("http://www.yahoomail.com") 
elem = driver.find_element_by_name("login") 
elem.send_keys("email-id") 
elem = driver.find_element_by_name("passwd") 
elem.send_keys("pwd") 
elem = driver.find_element_by_id("submit").click() 
driver.implicitly_wait(120) 
mnEle = driver.find_element_by_id("yucs-profile") 
driver.implicitly_wait(120) 

# you need to find the signout button instead of an anchor tag with signout text 
sbEle = driver.find_element_by_id("yucs-signout").click() 

driver.implicitly_wait(120) 
ActionChains(driver).move_to_element(mnEle).perform() 
driver.implicitly_wait(120) 
driver.find_element_by_id(sbEle).click() 
+0

我試過,但它仍然顯示同樣的信息「selenium.common.exceptions.ElementNotVisibleException:消息:元素沒有VISI BLE (會話信息:鉻= 39.0.2171.65) (驅動程序info:chromedriver = 2.9.248315,platform = Windows NT 6.1 SP1 x86_64) – 2014-11-23 10:29:02