首页 > 编程 > Python > 正文

Selenium的使用详解

2020-02-15 23:17:01
字体:
来源:转载
供稿:网友

先来看一下功能实现,代码如下:

from selenium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.common.keys import Keysfrom selenium.webdriver.support import expected_conditions as ECfrom selenium.webdriver.support.wait import WebDriverWait#声明浏览器对象browser = webdriver.Chrome()try:  browser.get('https:www.baidu.com')  input = browser.find_element_by_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)finally:  browser.close()

可以看到打开了百度网站,查询了“Python”并且输出了当前的url,cookies还有网页源代码。

下面再来介绍详细功能。

1、声明浏览器对象。

browser = webdriver.Chrome()browser = webdriver.Firefox()

浏览器的对象初始化,并将其赋值给browser对象。

2.以淘宝为例,请求网页。

browser = webdriver.Chrome()browser.get('https://www.taobao.com')print(browser.page_source)browser.close()

可以看到输出了淘宝的源码,随后关闭。

3.查找节点

单个节点

提取搜索框这个节点

检查搜索框如下:

查找搜索框:

browser = webdriver.Chrome()browser.get('https://www.taobao.com')# 通过id查找input_first = browser.find_element_by_id('q')# 通过css查找input_second = browser.find_element_by_css_selector('#q')# 通过xpath查找input_third = browser.find_element_by_xpath('//*[@id="q"]')print(input_first,input_second,input_third)browser.close()
# 查找单个节点的方法find_element_by_idfind_element_by_namefind_element_by_xpathfind_element_by_link_textfind_element_by_partial_link_textfind_element_by_tag_namefind_element_by_class_namefind_element_by_css_selector

通用方法查找:

browser = webdriver.Chrome()browser.get('https://www.taobao.com')input_first = browser.find_element(By.ID,'q')print(input_first)browser.close()
find_element()里面需要两个参数,查找方式By和值, 例如:find_element(By.ID,'q')  通过查找ID的当时,查找id为q。

多个节点:

例如左侧的导航条所有条目:

browser = webdriver.Chrome()browser.get('https://www.taobao.com')lis = browser.find_elements_by_css_selector('.service-bd li')print(lis)browser.close()

获取多个节点的方法:

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表