Day02---selenium请求库

一、selenium的基本使用

导包

from selenium import webdriver  # 用来驱动浏览器的
from selenium.webdriver import ActionChains  # 破解滑动验证码的时候用的 可以拖动图片
from selenium.webdriver.common.by import By  # 按照什么方式查找,By.ID,By.CSS_SELECTOR
from selenium.webdriver.common.keys import Keys  # 键盘按键操作
from selenium.webdriver.support import expected_conditions as EC  # 和下面WebDriverWait一起用的
from selenium.webdriver.support.wait import WebDriverWait  # 等待页面加载某些元素
import time

打开浏览器的方式:

# 方式一:通过驱动打开浏览器
# driver = webdriver.Chrome(r'F:\python\Scripts\chromedriver.exe')

# 方式二:把webdriver.exe驱动放到python解释器安装目录/Scripts文件夹中
# python解释器安装目录/Scripts配置环境变量
# python解释器安装目录 配置环境变量
driver = webdriver.Chrome()

使用try...finally方法处理异常

try:
    driver.get('http://www.jd.com/')

    # 获取显示等待对象10秒
    # 可以等待某个标签加载10秒
    wait = WebDriverWait(driver,10)
    # 查找元素id为key
    input_tag = wait.until(EC.presence_of_element_located((By.ID, 'key')))

    time.sleep(5)

    # 输入商品名称
    input_tag.send_keys('弟弟')

    # 按下键盘回车键
    input_tag.send_keys(Keys.ENTER)

    time.sleep(20)
finally:
    # 关闭浏览器释放操作系统资源
    driver.close()

二、selenium选择器

导包

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time

打开浏览器:

driver = webdriver.Chrome()

等待方式:

try:
    # 隐式等待:需要在get之前调用
    # 等待任意元素加载10秒
    driver.implicitly_wait(10)

    driver.get('http://www.baidu.com/')

    # 显示等待:需要在get之后调用
    time.sleep(10)

自动登录百度 start:

    # 1、find_element_by_link_text # 通过链接文本去找
    login_link = driver.find_element_by_link_text('登录')
    login_link.click()  # 点击登录

    time.sleep(1)

    # 2、find_element_by_id # 通过id去找
    user_login = driver.find_element_by_id('TANGRAM__PSP_10__footerULoginBtn')
    user_login.click()

    time.sleep(1)

    # 3、find_element_by_class_name
    user = driver.find_element_by_class_name('pass-text-input-userName')
    user.send_keys('*****')

    # 4、find_element_by_name
    pwd = driver.find_element_by_name('password')
    pwd.send_keys('*****')

    submit = driver.find_element_by_id('TANGRAM__PSP_10__submit')
    submit.click()
    # end

    # 5、find_element_by_partial_link_text
    # 局部链接文本查找
    login_link = driver.find_element_by_partial_link_text('')
    login_link.click()

    # 6、find_element_by_css_selector
    # 根据属性选择器查找元素
    # .: class
    # #: id
    login2_link = driver.find_element_by_css_selector('.tang-pass-footerBarULogin')
    login2_link.click()

    # 7、find_element_by_tag_name
    div = driver.find_elements_by_tag_name('div')
    print(div)

    time.sleep(20)

finally:
    # 关闭浏览器释放操作系统资源
    driver.close()

# 结束

猜你喜欢

转载自www.cnblogs.com/gumball/p/11123446.html