from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time
#打开一个会话
diver = webdriver.Chrome()
#全屏
diver.maximize_window()
diver.implicitly_wait(30)
try
:
# 访问百度链接
diver.get(
"https://www.baidu.com"
)
WebDriverWait(diver, 20).until(EC.visibility_of_element_located((By.ID,
"kw"
)))
# 等待文本框可见
diver.find_element_by_id(
"kw"
).send_keys(
"百度贴吧"
)
# 输入内容
WebDriverWait(diver, 20).until(EC.visibility_of_element_located((By.ID,
"su"
)))
# 等待百度一下可见
diver.find_element_by_id(
"su"
).click()
# 点击
WebDriverWait(diver, 20).until(
EC.visibility_of_element_located((By.XPATH,
'//a[text()="吧 - "]'
)))
diver.find_element_by_xpath(
'//a[text()="吧 - "]'
).click()
# 点击
time.sleep(3)
handles_list = diver.window_handles
print(handles_list)
# 获取所有窗口的handle
diver.switch_to.window(handles_list[-1])
# 切换到最后一个窗口——切换到全新的html页面
# 等待百度贴吧可见
WebDriverWait(diver, 20).until(
EC.visibility_of_element_located((
By.ID,
"tab_picture"
)))
# 等待图片按钮可见
diver.find_element_by_id(
"tab_picture"
).click()
time.sleep(3)
# 退出
diver.quit()
except Exception as e:
# 退出
diver.quit()
raise e