**
目的
**
1、掌握动态爬取动态网页环境搭建(下载selenium、下载Chrome浏览器、下载Chromedriver驱动、配置Chromedrive的环境变量)。
2、掌握动态爬取网页的Selenium和Chrome技术。
3、掌握Selenium和Chrome的基本应用,能够与网页上的元素进行交互,或执行其他一些动作。
任务
模拟用户登录网站的主要任务如下:
1、定位用户名输入框,添加用户名。
2、定位密码输入框,添加密码。
3、定位“登录”的按钮,并在代码中模拟单击该按钮即可。
方法一
from selenium import webdriver
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
driver.get("http://stu.ityxb.com/")
driver.find_element(By.CLASS_NAME, "login-btn").click()
# 选择登录按钮
driver.find_element(By.CLASS_NAME, "zhanghaoiconBox").click()
# 选择密码登录
driver.find_element(By.XPATH, "//div[@class='form-input-box']/input").send_keys("1111111111")
driver.find_element(By.XPATH, "(//div[@class='form-input-box'])[2]/input").send_keys("xxxxxxxxx")
driver.find_element(By.CLASS_NAME, "dialog-button").click()
方法二
from time import sleep
from selenium import webdriver
from selenium.webdriver.common.by import By
driver=webdriver.Chrome()
driver.get('http://stu.ityxb.com/')
driver.maximize_window()
driver.find_element(By.XPATH,'/html/body/div[1]/div/div[1]/header/div/div/div[2]/div/div[1]/span[1]').click()
# driver.find_element(By.XPATH,'.//*["header-user f-r"]/div[2]/span[1]').click()
driver.find_element(By.XPATH,'/html/body/div[1]/div[2]/div/div/div/div[1]/div[1]').click()
driver.find_element(By.NAME,'user').send_keys('xxxxx')
driver.find_element(By.NAME,'password').send_keys('111111')
driver.find_element(By.XPATH,'/html/body/div[1]/div[2]/div/div/div[2]/div/div[1]/div[2]/div[1]/form/div[3]/button').click()
方法三
from selenium import webdriver
from selenium.webdriver.common.by import By
import time
driver=webdriver.Chrome()
driver.get("http://stu.ityxb.com/")
driver.implicitly_wait(6)
driver.find_element(By.CLASS_NAME,'login-btn').click()
time.sleep(3)
driver.find_element(By.CLASS_NAME,'zhanghaoiconBox').click()
time.sleep(3)
driver.find_element(By.NAME,'user').send_keys('xxx')
time.sleep(3)
driver.find_element(By.NAME,'password').send_keys('123456')
time.sleep(3)
driver.find_element(By.CLASS_NAME,'form-btn-box').click()
time.sleep(6)
driver.quit()