自动化工具selenium

自动化工具selenium的使用

一.selenium+Python环境配置

1.安装Python3.5及以上版本,这里我安装的是Python3.7.4

2.安装selenium:pip install selenium

3.安装对应浏览器版本的驱动webdriver,查找对应版本如下

4.将下载的webdriver(例如chromedriver.exe)文件放置在python环境变量目录的文件夹里

二.元素定位及浏览器基本操作

1.启动浏览器,前提是已经配置好环境

启动谷歌浏览器

from selenium import webdriver

driver = webdriver.Chrome()
driver.get('https://www.baidu.com/')

启动火狐浏览器

from selenium import webdriver

driver = webdriver.Firefox()
driver.get('https://www.baidu.com/')

启动ie浏览器

from selenium import webdriver

driver = webdriver.Ie()
driver.get('https://www.baidu.com/')

2.无头(无界面)启动浏览器

浏览器在后台静默运行,无需打开浏览器窗口,大大提升了selenium的运行效率

from selenium import webdriver

options = webdriver.ChromeOptions()
options.add_argument('--headless')  # 无界面
options.add_argument('--disable-gpu')  # 禁用GPU
driver = webdriver.Chrome(options=options)
driver.get('https://www.taobao.com/')
print(driver.page_source)
driver.quit()  # 关闭浏览器

3.加载配置启动浏览器

selenium操作浏览器默认是不加载任何配置,如果需要加载用户的配置,可以使用如下方式

注意:

  • 在加载用户配置时,如果你事先打开了浏览器占用了用户配置,会导致报错

  • 用户配置路径使用双斜杠,或者像我一样在前面加r

from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument(r'--user-data-dir=C:\Users\Administrator\AppData\Local\Google\Chrome\User Data')
driver=webdriver.Chrome(options=options)
driver.get('https://www.taobao.com/')

4.元素定位

  • id定位:find_element_by_id()
  • name定位:find_element_by_name()
  • class定位:find_element_by_class_name()
  • link定位:find_element_by_link_text()
  • partial_link定位:find_element_by_partial_link_text()
  • tag定位:find_element_by_tag_name()
  • xpath定位:find_element_by_xpath()
  • css定位:find_element_by_css_selector()
  • find_element配合By定位:find_element(By.XPATH, ‘//*[@id=“q”]’)

By类的一些属性如下:

  • ID = “id”
  • XPATH = “xpath”
  • LINK_TEXT = “link text”
  • PARTIAL_LINK_TEXT = “partial link text”
  • NAME = “name”
  • TAG_NAME = “tag name”
  • CLASS_NAME = “class name”
  • CSS_SELECTOR = “css selector”

定位多个元素:在element后加个s(写的时候注意看清楚)

  • id定位:find_elements_by_id()
  • name定位:find_elements_by_name()
  • class定位:find_elements_by_class_name()
  • link定位:find_elements_by_link_text()
  • partial_link定位:find_elements_by_partial_link_text()
  • tag定位:find_elements_by_tag_name()
  • xpath定位:find_elements_by_xpath()
  • css定位:find_elements_by_css_selector()
  • find_element配合By定位:find_elements(By.XPATH, ‘//*[@id=“q”]’)
from selenium import webdriver
from selenium.webdriver.common.by import By

driver = webdriver.Chrome()
driver.get("https://www.taobao.com")
driver.page_source
input_second = driver.find_element(By.ID,"q")
input_third = driver
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值