Selenium其他自动化操作

一、需求分析
需求:
打开淘宝网站,在搜索框中输入商品名称,点击搜索;
打开滚轮向下滚动;

Python 网络爬虫
from selenium import webdriver
from time import sleep
bro = webdriver.Chrome(executable_path='./chromedriver')

bro.get('https://www.taobao.com/')

#标签定位
search_input = bro.find_element_by_id('q')
#标签交互
search_input.send_keys('Iphone')


#执行一组js程序
bro.execute_script('window.scrollTo(0,document.body.scrollHeight)')
sleep(2)
#点击搜索按钮
btn = bro.find_element_by_css_selector('.btn-search')
btn.click()


bro.get('https://www.baidu.com')
sleep(2)
#回退
bro.back()
sleep(2)
#前进
bro.forward()


sleep(5)

bro.quit()

分析:

  • 1、定位搜索框按钮,可以查看到需要使用 id进行标签定位,然后输入搜索的内容;

2、定位搜索按钮,进行搜索操作,可以查看到需要使用 class 进行标签定位;

二、Selenium其他自动化操作示例

2.1、打开tb,进行商品搜索

from selenium import webdriver
import time

# 实例化一个浏览器对象
driver = webdriver.Chrome()
driver.get('https://www.taobao.com/')

# 标签定位
search_input = driver.find_element_by_id('q')  # 使用 id 进行定位
# 标签交互
search_input.send_keys('李宁')    # 录入商品

# 根据class定位,点击搜索按钮
btn = driver.find_element_by_css_selector('.btn-search')
btn.click()

time.sleep(2)
driver.close()

2.2、实现浏览器滚轮操作

  • 在浏览器的 console中执行一段 js 代码可以进行滚轮一页的操作 :
  • js 代码让Selenium自动执行测试
from selenium import webdriver
import time

# 实例化一个浏览器对象
driver = webdriver.Chrome()
driver.get('https://www.taobao.com/')

# 标签定位
search_input = driver.find_element_by_id('q')  # 使用 id 进行定位
# 标签交互
search_input.send_keys('李宁')    # 录入商品

# 执行一组js代码
driver.execute_script('window.scrollBy(0, document.body.scrollHeight)')

time.sleep(2)

# 根据class定位,点击搜索按钮
btn = driver.find_element_by_css_selector('.btn-search')
btn.click()

time.sleep(2)
driver.close()

2.3、浏览器执行前进和后退

from selenium import webdriver
import time

# 实例化一个浏览器对象
driver = webdriver.Chrome()
driver.get('https://www.taobao.com/')

# 标签定位
search_input = driver.find_element_by_id('q')  # 使用 id 进行定位
# 标签交互
search_input.send_keys('李宁')    # 录入商品

# 执行一组js代码
driver.execute_script('window.scrollBy(0, document.body.scrollHeight)')

time.sleep(2)

# 根据class定位,点击搜索按钮
btn = driver.find_element_by_css_selector('.btn-search')
btn.click()

driver.get('https://www.baidu.com')
time.sleep(1)
# 后退
driver.back()
time.sleep(1)
# 前进
driver.forward()

time.sleep(2)
driver.close()

发表评论

邮箱地址不会被公开。 必填项已用*标注