selenium使用———xpath和模拟输入和模拟点击协作

本文详细介绍了如何利用Selenium结合XPath进行网页交互,包括打开百度搜索优快云,进入优快云网站后搜索指定文章,模拟输入和点击操作,并提供了全程的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目的

本文主要目的是使用xpath、模拟输入和模拟点击协作,具体如下:

  • 打开百度,搜索优快云
  • 进入优快云,搜索selenium使用———xpath和模拟输入和模拟点击协作这篇文章。
  • 点击进入该文章进行查看

搜索优快云

打开百度

browser.get("https://www.baidu.com/")

在输入框中输入优快云

找到输入框。首先右键输入框,进入检查模式;其次右键对应的HTML代码,选择Copy->Copy XPath,最后得到XPath。
有了XPath后,可以使用Selenium进行定位,并把需要输入的内容填写上。

browser.find_element_by_xpath('//*[@id="kw"]').send_keys("优快云")

点击搜索按钮

使用上述步骤找到按钮的XPath的值,并模拟点击

browser.find_element_by_xpath('//*[@id="su"]').click()

进入优快云

判断页面是否加载完成

选择页面中你要点击的元素的id,并以此判断该网页是否完成加载。这里我使用了页面中id为content_left的元素用于判断我需要点击的组件是否加载完成

print("开始加载")
Wait(browser, 60).until(EC.presence_of_element_located((By.ID, "content_left")))
print("加载结束")

在得到需要点击的组件加载完成的信息后,使用上述步骤找到优快云网页的XPath的值,并点击进入

browser.find_element_by_xpath('//*[@id="1"]/div/div[1]/h3/a[1]').click()

从优快云首页进行文章搜索

判断需要使用的部分是否加载完成

print("开始加载")
Wait(browser, 60).until(EC.presence_of_element_located((By.ID, "toolbar-search-button")))
print("加载结束")

输入信息并点击搜索

browser.find_element_by_xpath('//*[@id="toolbar-search-input"]').send_keys("selenium使用———xpath和模拟输入和模拟点击协作")
browser.find_element_by_xpath('//*[@id="toolbar-search-button"]').click()

进入文章并滚动

print("开始加载")
Wait(browser, 60).until(EC.presence_of_element_located((By.ID, "post-1562")))
print("加载结束")

# # 直接拉到底
# js = 'window.scrollTo(0, document.body.scrollHeight)'
# browser.execute_script(js)

# 缓慢拉动
js = "return action=document.body.scrollHeight"
new_height = browser.execute_script(js)
for i in range(0,new_height,10):
	browser.execute_script('window.scrollTo(0, %s)'%(i))

全部代码

有点乱

#coding=utf-8
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait as Wait
import time
# 初始化浏览器
browser = webdriver.Chrome()

# # 使用百度搜索优快云
# browser.get("https://www.baidu.com/")
# # 找到输入框并输入
# browser.find_element_by_xpath('//*[@id="kw"]').send_keys("优快云")
# # 找到按钮并点击
# browser.find_element_by_xpath('//*[@id="su"]').click()


# # 进入优快云
# print("开始加载")
# Wait(browser, 60).until(EC.presence_of_element_located((By.ID, "content_left")))
# print("加载结束")
# browser.find_element_by_xpath('//*[@id="1"]/div/div[1]/h3/a[1]').click()


# # 在优快云中搜索指定文章
# print("开始加载")
# Wait(browser, 60).until(EC.presence_of_element_located((By.ID, "toolbar-search-button")))
# print("加载结束")
# browser.find_element_by_xpath('//*[@id="toolbar-search-input"]').send_keys("selenium使用———xpath和模拟输入和模拟点击协作")
# browser.find_element_by_xpath('//*[@id="toolbar-search-button"]').click()

# browser.get('https://so.youkuaiyun.com/so/search?spm=1000.2115.3001.4501&q=aa&t=&u=')
# print("开始加载")
# Wait(browser, 60).until(EC.presence_of_element_located((By.ID, "app")))
# print("加载结束")
# browser.find_element_by_xpath('//*[@id="app"]/div[2]/div[2]/div[1]/div[2]/div/div[1]/div/div[1]/h3').click()

browser.get('http://www.selenium.org.cn/1562.html')
print("开始加载")
Wait(browser, 60).until(EC.presence_of_element_located((By.ID, "post-1562")))
print("加载结束")

# # 直接拉到底
# js = 'window.scrollTo(0, document.body.scrollHeight)'
# browser.execute_script(js)

# 缓慢拉动
js = "return action=document.body.scrollHeight"
new_height = browser.execute_script(js)
for i in range(0,new_height,10):
	browser.execute_script('window.scrollTo(0, %s)'%(i))

# browser.quit()
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值