0


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

文章目录

目的

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

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

搜索CSDN

打开百度

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

在输入框中输入CSDN

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

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

点击搜索按钮

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

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

进入CSDN

判断页面是否加载完成

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

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

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

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

从CSDN首页进行文章搜索

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

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 inrange(0,new_height,10):
    browser.execute_script('window.scrollTo(0, %s)'%(i))

全部代码

有点乱

#coding=utf-8from 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()# # 使用百度搜索CSDN# browser.get("https://www.baidu.com/")# # 找到输入框并输入# browser.find_element_by_xpath('//*[@id="kw"]').send_keys("CSDN")# # 找到按钮并点击# browser.find_element_by_xpath('//*[@id="su"]').click()# # 进入CSDN# 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()# # 在CSDN中搜索指定文章# 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.csdn.net/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 inrange(0,new_height,10):
    browser.execute_script('window.scrollTo(0, %s)'%(i))# browser.quit()

本文转载自: https://blog.csdn.net/ZeroSwift/article/details/125832692
版权归原作者 时闻折竹 所有, 如有侵权,请联系我们删除。

“selenium使用———xpath和模拟输入和模拟点击协作”的评论:

还没有评论