问题(四)


# !/usr/bin/env python
# -*- coding:utf-8 -*-

from selenium import webdriver
import time as t

# 1、通过案例来演示iframe的不同定位方式(id,name,索引)
driver = webdriver.Chrome()
driver.maximize_window()
driver.get('https://mail.qq.com/')
# 进入iframe,id和name一致
driver.switch_to.frame('login_frame')
# driver.switch_to.frame(0)
# 账户密码
t.sleep(3)
driver.find_element_by_name('u').send_keys("用户名")
driver.find_element_by_name('p').send_keys("密码")
t.sleep(3)
driver.quit()

# 2、结合具体的案例来说明多窗口的处理
driver = webdriver.Chrome()
driver.maximize_window()
driver.get('https://www.baidu.com/')
nowHandler = driver.current_window_handle
driver.find_element_by_xpath('//*[@id="s-top-left"]/a[1]').click()
t.sleep(3)
allHandle = driver.window_handles
for handle in allHandle:
if handle != nowHandler:
driver.switch_to.window(handle)
driver.close()
t.sleep(3)
driver.quit()

# 3、通过拉勾网来演示下来框的交互
driver = webdriver.Chrome()
driver.maximize_window()
driver.get('https://www.lagou.com/wn/jobs?kd=%E6%B5%8B%E8%AF%95%E5%B7%A5%E7%A8%8B%E5%B8%88&city=%E5%85%A8%E5%9B%BD')
t.sleep(6)
driver.find_element_by_xpath('//*[@id="jobsContainer"]/div[2]/div[1]/div[1]/div[2]/div/ul/li[2]/div/span').click()
t.sleep(3)
driver.find_element_by_xpath(
'//*[@id="jobsContainer"]/div[2]/div[1]/div[1]/div[2]/div/ul/li[2]/div/div/ul[2]/li[1]/span').click()
t.sleep(3)
driver.quit()

# 4、演示get_attribute()方法的具体使用
driver = webdriver.Chrome()
driver.maximize_window()
driver.get('https://mail.sina.com.cn/')
list = driver.find_element_by_xpath('/html/body/div[3]/div/div[2]/div/div/div[4]/div[1]/div[1]/div[5]').get_attribute(
'textContent')
print(list)
t.sleep(3)
driver.quit()

# 5、集合互联网产品来演示is_selected()的使用
driver = webdriver.Chrome()
driver.maximize_window()
driver.get('https://mail.sina.com.cn/')
page = driver.find_element_by_xpath('//*[@id="store1"]')
print(page.is_selected())
assert page.is_selected() == True
t.sleep(3)
driver.quit()