Selenium-Selenium其他自动化操作

Posted Devops代哲

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Selenium-Selenium其他自动化操作相关的知识,希望对你有一定的参考价值。

一、需求分析

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

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

二、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 代码可以进行滚轮一页的操作 :window.scrollBy(0, document.body.scrollHeight)
    image

  • 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()

以上是关于Selenium-Selenium其他自动化操作的主要内容,如果未能解决你的问题,请参考以下文章

Selenium-Selenium配置无头浏览器+规避检测

日本科技:本田明年将在日本推出第3代自动驾驶技术的汽车

远程代答平台如何实现打码盈利?

如何从账户中读取 ETH 值和其他代币值?

2代3代Vue响应系统一浪更比一浪强,前浪已死?(上)

为何自动驾驶遇瓶颈,自动代客泊车却很热?| 创变观察