from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import MySQLdb
import time
#新建driver并最大化
driver = webdriver.Chrome()
driver.maximize_window()
time.sleep(0.2)
#发送请求 并判断标题中是否包含财年
driver.get("https://www.runoob.com/")
assert "菜鸟" in driver.title
time.sleep(1)
#在文本框中输入python并回车
driver.find_element_by_css_selector("#s").send_keys("python")
driver.find_element_by_css_selector("#s").send_keys(Keys.ENTER)
#获取所有窗口的句柄到当前会话,返回一个窗口句柄列表
handles = driver.window_handles
handles_ = handles[1]
#切换到所需句柄
driver.switch_to.window(handles_)
time.sleep(0.5)
driver.find_element_by_xpath("/html/body/div[4]/div/div[1]/div[2]/div[1]/div/h2/a").click()
time.sleep(0.5)
handles = driver.window_handles
handles_ = handles[2]
driver.switch_to.window(handles_)
time.sleep(0.5)
selector = driver.find_element_by_css_selector(
"body > div.container.main > div > div.runoob-col-md2 > div > div.sidebar-box.gallery-list")
name = selector.find_element_by_tag_name("div").find_elements_by_tag_name("a")
#数据库连接
db = MySQLdb.connect(host='localhost', user='root', passwd='passwd', db='testa', charset='utf8')
cursor = db.cursor() # 创建一个游标对象
for n in name:
title = n.get_attribute("title")
href = n.get_attribute("href")
sql = "INSERT INTO runoob(title,href)" \
" VALUES ('%s','%s')"%(title,href)
print(sql)
try:
# 执行SQL语句
cursor.execute(sql)
# 提交到数据库执行
db.commit()
except:
print
"Error: unable to fecth data"
db.close()
Python基础selenium+数据库
最新推荐文章于 2024-02-19 14:21:32 发布