lihu5841314 发表于 2021-6-5 21:43

小白用selenium 实战起点 练手

import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
# from selenium.webdriver.common.action_chains import ActionChains

# chrome_options = webdriver.ChromeOptions();
# # 添加浏览器参数
# # 添加UA
# chrome_options.add_argument(
# 'User-Agent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36"'
# )
# # 浏览器不提供可视化页面. linux下如果系统不支持可视化不加这条会启动失败
# chrome_options.add_argument('--headless')
# # 以最高权限运行
# chrome_options.add_argument('--no-sandbox')
# # 设置开发者模式启动,该模式下webdriver属性为正常值
# chrome_options.add_experimental_option('excludeSwitches', ['enable-automation'])
# driver = webdriver.Chrome(chrome_options= chrome_options)
driver = webdriver.Chrome()

driver.get("https://www.qidian.com/")
time.sleep(1)
name = input("请输入小说的名字:")
el =driver.find_element_by_xpath('//*[@id="s-box"]').send_keys(name)
time.sleep(1)
# driver.find_element_by_xpath('//*[@id="s-box"]').send_keys(Keys.ENTER)


rep1 = driver.find_element_by_xpath('//div[@class="search-wrap fl"]//label')   #定位搜索
driver.execute_script("arguments.click();",rep1)   #点击
time.sleep(2)

# print(driver.current_url)#这里遇到猫老壳   能够翻页但是不能获取url估计是起点的url 经过转码
#获取当前所有的窗口   这个有个大坑经过selenium模拟点击跳转的源码还在第一页需要切换窗口
current_windouw = driver.window_handles

#切换窗口
driver.switch_to.window(current_windouw)

book_onfo = driver.find_elements_by_xpath('//*[@id="result-list"]/div/ul/li/div/p')
book_onfo1 = "".join([(x.text).strip() for x in book_onfo])   #好像selenium 不能获取标签下是所有文本   我是小白 反正我是一个一个取出来.text
print(name,book_onfo1)


"""
只爬取了小说的名字和简介, selenium还是要和别的库配合较好   selenium处理一些动态难处理的就好
"""

driver.close()
driver.quit()

lihu5841314 发表于 2021-6-5 21:46

个人感觉selenium 处理一些js和动态 的难点 就好

saoxu 发表于 2021-6-5 22:18

可以的。新手加注释这个习惯挺好

贴吧 发表于 2021-6-5 22:30

只求一个正则表达式生成器   完全看不进去正则太复杂了
页: [1]
查看完整版本: 小白用selenium 实战起点 练手