如何点击selenium中小弹出窗口上显示的选项?

时间:2017-12-02 15:28:13

标签: python selenium

我正在尝试制作用于使用selenium将文件从本地磁盘上传到Google驱动器的脚本。我成功登录并点击谷歌驱动器桌面版本上的新按钮,但之后我无法选择出现在新小窗口(按下“新建”按钮后出现的窗口)下的选项

我的代码到现在为止:

#!/usr/bin/python
    from selenium import webdriver
    import time
    from selenium.webdriver.common.keys import Keys

    browser=webdriver.Firefox()
    #gdURL='https://drive.google.com'
    gdURL='https://accounts.google.com/ServiceLogin?service=wise&passive=true&   continue=http%3A%2F%2Fdrive.google.com%2F%3Futm_source%3Den_US&  utm_medium=button&utm_campaign=web&utm_content=gotodrive&usp=gtd&ltmpl=drive'
   browser.get(gdURL)
   def idIn(email):
       gId=browser.find_element_by_id('identifierId')
       gId.send_keys(email)
       gId.send_keys(Keys.ENTER)
       time.sleep( 10 )
   def passIn(passwd):
       gPass=browser.find_element_by_name('password')
       gPass.send_keys(passwd)
       gPass.send_keys(Keys.ENTER)
       time.sleep( 30 )
   if browser.find_element_by_id('identifierId'):
       idIn('myemail')
       passIn('mypassword')
   #if browser.find_element_by_name('password'):
   #   passIn('mypassword')
   btn=browser.find_elements_by_tag_name('button')
   btn[4].click()

2 个答案:

答案 0 :(得分:0)

有一种方法可以处理selenium中的警报 - driver.switch_to_alert() 这个文档可以帮助你https://seleniumhq.github.io/selenium/docs/api/py/webdriver/selenium.webdriver.common.alert.html#module-selenium.webdriver.common.alert

答案 1 :(得分:0)

这可能会有所帮助 - 因此您需要使用窗口句柄切换到新的浏览器实例。我不知道这是否仅适用于Windows系统。

道歉,下面的代码在Java中:

// Store the current window handle 
String winHandleBefore = driver.getWindowHandle(); 
// Perform the click operation that opens new window 
// Switch to new window opened 
for(String winHandle : driver.getWindowHandles()){ 
driver.switchTo().window(winHandle); } 
// Perform the actions on new window 
// Close the new window, if that window no more required driver.close(); 
// Switch back to original browser (first window) 
driver.switchTo().window(winHandleBefore); 
//continue with original browser (first window)

请参阅此帖子的来源帖子here