(个人记录)简单的selenium实现自动点击

主要目标

网页需要每五分钟手动点击确认弹窗,为实现自动化点击以写此代码。
在这里插入图片描述

环境需求

本代码采用的Chrome浏览器。
采用selenium,将对应Chrome版本的selenium.exe安装入python目录下。
如无法运行可以在python终端输入:pip install selenium

大体流程

本项目先有一个跳转页面A,在A点击确认跳转后进入输入账号以及密码的页面B,在B输入对应账号以及密码后点击登录即可(无验证码)进入学习页面。由于保存了cookie,直接跳转到学习视频页面即可刷时长。

代码实现

from selenium.webdriver import Chrome	#导入Chrome
from selenium.webdriver.common.by import By	#根据路径寻找元素
from selenium.webdriver.common.keys import Keys	#实现输入以及点击功能
from selenium.webdriver.chrome.options import Options #设置浏览器
import time	#时间函数
from selenium import  webdriver

username=''	#用户账号
userpass=''	#密码
url='http://xxxxx'	#第一次出现的跳转页面的网址

option =Options()
option.add_experimental_option("detach", True)	#selenium打开的浏览器如何在程序结束时不退出
web=webdriver.Chrome(options=option)
web.get(url)	#打开网页


web.find_element(By.XPATH,'//*[@id="web_login"]/div/div[2]/input').click()	#在A页面寻找需要点击的按钮

web.find_element(By.XPATH,'//*[@id="username"]').send_keys(username,Keys.ENTER)	#在B页面寻找账号输入框并输入账号
web.find_element(By.XPATH,'//*[@id="password"]').send_keys(userpass,Keys.ENTER)	#在B页面寻找密码输入框并输入密码顺便跳转


url2='http:xxxxx'
web.get(url2)		#跳转对应视频页面

counter=0	#每5分钟记录一次
while (True):
    print(f"已经学习{counter}分钟")
    time.sleep(305)
    try:
        web.switch_to.alert.accept()	#点击弹窗框的确认选项
    except:
        time.sleep(10)
        web.switch_to.alert.accept()	#防止页面卡顿,弹出框较慢。
    counter=counter+5

### 回答1: 好的,下面是一个使用 SeleniumPython点击标题并爬取详细内容的例子: ```python from selenium import webdriver # 启动浏览器 driver = webdriver.Chrome() # 打开网站 driver.get("https://www.example.com") # 定位到标题元素 title_element = driver.find_element_by_css_selector("h1.title") # 点击标题 title_element.click() # 爬取详细内容 content_element = driver.find_element_by_css_selector("div.content") content = content_element.text # 关闭浏览器 driver.quit() ``` 在上面的代码中,我们使用了 Selenium 的 `find_element_by_css_selector` 方法来定位标题和详细内容的元素,并使用 `click` 方法点击标题,使用 `text` 属性爬取详细内容。 注意:在使用 Selenium 之前,需要先安装 Selenium 库和浏览器驱动(如 ChromeDriver)。 希望这些信息对你有帮助。如果你有更多疑问,请随时告诉我。 ### 回答2: 以下是一个使用Python编写的Selenium自动点击标题并爬取详细内容的代码示例: ```python from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC # 设置WebDriver的路径 driver_path = 'chromedriver.exe' # 请根据实际情况设置路径 # 初始化WebDriver对象 driver = webdriver.Chrome(driver_path) try: # 打开网页 driver.get('https://example.com') # 隐式等待页面加载完成 driver.implicitly_wait(10) # 获取标题元素列表 title_elements = driver.find_elements(By.XPATH, '//h2[@class="title"]') # 遍历标题列表,逐个点击并爬取详细内容 for title_element in title_elements: # 点击标题 title_element.click() # 等待详细内容加载完成 detail_element = WebDriverWait(driver, 10).until( EC.presence_of_element_located((By.XPATH, '//div[@class="detail"]'))) # 获取详细内容并输出 detail_content = detail_element.text print(detail_content) # 返回上一页 driver.back() finally: # 关闭WebDriver driver.quit() ``` 以上代码假设网页中使用`h2`标签表示标题,使用`div`标签并具有`detail`类名表示详细内容。你需要根据实际情况修改代码中的网页URL、标题和详细内容的XPath表达式。此外,你还需要下载并安装Chrome浏览器驱动(`chromedriver.exe`)并设置正确的路径。 ### 回答3: 下面是一个使用PythonSelenium自动点击标题并爬取详细内容的示例代码: ```python from selenium import webdriver from selenium.webdriver.common.by import By # 初始化Selenium WebDriver driver = webdriver.Chrome() # 打开网页 driver.get('http://example.com') # 找到标题元素并点击 title_element = driver.find_element(By.XPATH, '//h1') title_element.click() # 等待新页面加载 driver.implicitly_wait(10) # 获取详细内容 content_element = driver.find_element(By.XPATH, '//div[@class="content"]') content = content_element.text # 输出详细内容 print(content) # 关闭浏览器 driver.quit() ``` 这段代码首先导入了必要的模块,创建了一个Chrome浏览器的实例。然后,代码使用`driver.get()`方法打开了一个示例网页。接下来,代码使用XPath语法在页面上找到了标题元素,并调用`click()`方法模拟点击操作。 为了确保新页面加载完成,代码使用了`implicitly_wait()`方法等待10秒。然后,代码再次使用XPath语法找到了详细内容元素,并使用`text`属性获取了其文本内容。 最后,代码输出了详细内容,并调用了`quit()`方法关闭了浏览器。 请注意,这只是一个简单的示例代码,实际应用中可能需要根据具体情况进行定制和优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值