关于京东的自动搜索
from selenium import webdriver #web驱动 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'D:\Python\Scripts\chromedriver.exe')
#方式二:把webdriver.exe驱动放到python解释器安装目录/Scripts文件夹中
#python解释器安装目录/Scripts配置环境变量
#python解释器安装目录,配置环境变量
driver=webdriver.Chrome(r'D:\Python\Scripts\chromedriver.exe') try: driver.get('https://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()
自动登录百度
from selenium import webdriver # web驱动 from selenium.webdriver.common.keys import Keys # 键盘按键操作 import time driver=webdriver.Chrome(r'D:\Python\Scripts\chromedriver.exe')
# 隐式等待: 需要在get之前调用
# 等待任意元素加载10秒
try: driver.implicitly_wait(10) driver.get('https://www.baidu.com/')
# 显式等待: 需要在get之后调用
time.sleep(5)
'''
===============所有方法===================
element是查找一个标签
elements是查找所有标签
'''
# 自动登录百度 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()
time.sleep(20)
# 关闭浏览器释放操作系统资源
finally: driver.close()