1Web 自动化种,如何切换浏览器的windows窗口?
driver.switch_to.window
from selenium import webdriver
driver = webdriver.Chrome()
driver.implicitly_wait(10)
driver.get("https://www.baidu.com")
driver.find_element_by_id("kw").send_keys("helloworld")
driver.find_element_by_id("su").click()
driver.find_element_by_css_selector('div#content_left>div:nth-child(2) h3 > a').click()
driver.find_element_by_css_selector('div#content_left>div:nth-child(3) h3 > a').click()
allHandles = driver.window_handles
driver.switch_to.window(allHandles[-1])
print(driver.title)
2验证码问题怎么解决?
使用万能码或者验证码在测试环境中去掉。 开发在测试环境中设置一个通用的验证码供测试环境使用。
有记忆功能。可以在本地先登录成功,再次打开浏览器的时候使用个人用户目录启动浏览器。可以实现自动登录功能。
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
op = Options()
op.add_argument(r'user-data-dir=C:\Users\xxxxx\AppData\Local\Google\Chrome\User Data') # 改为自己的目录 查看路径可以进去chrome version进入查看
driver = webdriver.Chrome(options=op)
driver.get("https://www.baidu.com")
3.web自动化时有前台页面和后台页面怎么处理?创建不同的driver 来驱动。
from selenium import webdriver
from selenium.webdriver.chrome.webdriver import WebDriver
test1_driver = webdriver.Chrome()
test2_driver = webdriver.Chrome()
def login(driver:WebDriver,username,passwd):
driver.find_element_by_id("xxxx").send_keys(username)
driver.find_element_by_id('xxxxx').send_keys(passwd)
login(test1_driver,'test1','123456')
login(test1_driver,'test2','123456')