2
我正在與Webdriver一起練習運行基本測試,此特定測試是通過Gmail發送電子郵件,然後聲明它已被接收。在WebDriver中切換到iframe後在默認內容中訪問元素
我使用Gmail的新版本,其中撰寫電子郵件按鈕異步彈出一個窗口(請參見圖片)。要訪問電子郵件的主體以鍵入消息,我必須選擇iframe,但是我無法切換並訪問「發送」按鈕元素。
沒有其他值得注意的幀來保存「發送」按鈕,並且使用driver.switch_to_default_content()也不會執行任何操作。我已經包含下面的代碼片段。
driver.find_element_by_name("to").clear()
driver.find_element_by_name("to").send_keys("[email protected]")
localtime = time.asctime(time.localtime(time.time()))
subj = ("TEST - " + localtime)
print(subj)
driver.find_element_by_name("subjectbox").clear()
driver.find_element_by_name("subjectbox").send_keys(subj)
body = ("TEST")
bodyFrame = driver.find_element_by_xpath("//td[@class='Ap']//iframe")
driver.switch_to_frame(bodyFrame)
driver.find_element_by_xpath("//body[@role='textbox']").clear()
driver.find_element_by_xpath("//body[@role='textbox']").send_keys(body)
driver.find_element_by_xpath("/div[@role='button' and contains(text(), 'Send')]").click()
driver.find_element_by_link_text("Inbox (1)").click()
我能得到的消息通過ActionChains send_keys(Keys.CONTROL, Keys,ENTER).perform()
派,而是想弄清楚如何訪問「發送」按鈕,點擊它,我的理智:)
我只是在這裏必須指出的是,儘可能學習去的webdriver使用的Web應用程序,Gmail是一個引人注目[糟糕的選擇(https://groups.google.com/d/msg/selenium-users/8jR6Fw5ndxU/7peVDuzkNN4J) – JimEvans