我正在尝试制作用于使用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<mpl=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()
答案 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。