元素处于iframe中时,直接对其进行定位无效,需要先找到iframe,再进行定位
#打开浏览器
driver = webdriver.Chrome()
driver.get("http://test.abc.com")
driver.maximize_window()
# 找到iframe的xpath
xpath_iframe = '//div[@class="login-pad"]/iframe'
# 获得iframe
iframe = driver.find_element(By.XPATH, xpath_iframe)
# 跳转iframe
driver.switch_to.frame(iframe)
# 定位username输入框
xpath_username = '//input[@placeholder="请输入账号"]'
driver.find_element(By.XPATH,xpath_username).send_keys('zhangsan')
# 定位password输入框
xpath_password = '//input[@placeholder="请输入密码"]'
driver.find_element(By.XPATH, xpath_password).send_keys('password123')
time.sleep(1)
# 定位 login button
xpath_login_button = '//button[@class="login_btn"]'
driver.find_element(By.XPATH, xpath_login_button).click()
time.sleep(3)
# 登陆后首页拍照
driver.get_screenshot_as_file("../temp/screenshot/login.png")