Python爬虫学习笔记(Selenium(1))

1.基本使用、

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait

browser = webdriver.Chrome() #Chrome浏览器对象的初始化并赋值
try:
    browser.get('https://www.baidu.com') #模拟访问
    input = browser.find_element_by_id('kw') #通过id查找kw节点,即:搜索框
    input.send_keys('Python')
    input.send_keys(Keys.ENTER)#传入要搜索的关键字
    wait = WebDriverWait(browser,10)
    wait.until(EC.presence_of_element_located((By.ID,'content_left')))
    print(browser.current_url)
    print(browser.get_cookies())
    print(browser.page_source) #输出URL页面的访问源代码
finally:
    browser.close()

 

2.单个节点和多个节点选取:find_element()_方法只能找到第一个,要找到所有的节点用find_elements()_

from selenium import webdriver

browser = webdriver.Chrome()
browser.get('https://world.taobao.com')
input_first = browser.find_element_by_id('q') #ID找元素节点
input_sencond = browser.find_element_by_css_selector('#q') #CSS选择器找元素节点
input_third = browser.find_element_by_xpath('//*[@id="q"') #Xpath找元素节点
print(input_first,input_sencond,input_third)
browser.close()

以上方法等价于:

from selenium import webdriver
from selenium.webdriver.common.by import By

browser = webdriver.Chrome()
browser.get('https://world.taobao.com')
input_first = browser.find_element(By.ID,'mq')
print(input_first)
browser.close()

 

 

获取单个节点的基本方法:同理,要找到所有的节点用find_elements()_,方法适用

 

3.节点交互

from selenium import webdriver
from selenium.webdriver.common.by import By
import time

browser = webdriver.Chrome()
browser.get('https://world.taobao.com')
input_first = browser.find_element(By.ID,'mq') #获取搜索框
input_first.send_keys('iphone') #填入iphone
time.sleep(1) #间隔一秒后
input_first.clear() #清空搜索框
input_first.send_keys('ipad') #再重新输入ipad
button = browser.find_element_by_css_selector('form') #获取开始搜索按钮
button.submit()#开始搜索

 

 

4.动作链

#实现拖拽效果

from selenium import webdriver
from selenium.webdriver.common.by import By
import time
from selenium.webdriver import ActionChains

browser = webdriver.Chrome()
url = 'https://www.runoob.com/try/try.php?filename=jqueryui-api-droppable'
browser.get(url)
browser.switch_to.frame('iframeResult')#获取拖拽实例页面
source = browser.find_element_by_css_selector('#draggable') #选中要拖拽 的节点
target = browser.find_element_by_css_selector('#droppable') #选中拖拽到的目标节点
actions =ActionChains(browser) #声明ActionChains对象并赋值
actions.drag_and_drop(source,target) #调用动作方法 用于目标
actions.perform() #执行动作

发布了48 篇原创文章 · 获赞 19 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_33360009/article/details/104299625