Selenium链式定位

from selenium import webdriver

import ssl # 加载SSL模块

def handle(tagId): # 创建一个对每个页面重新定位的函数

 driver.switch_to.window(driver.window_handles[tagId])

fir = 0 # 第一个标签

page2 = 1 # 第二个标签

page3 = 2 # 第三个标签

ssl._create_default_https_context = ssl._create_unverified_context # 用于打开https网站使用

driver = webdriver.Chrome() # 用googleChrome打开网站

driver.implicitly_wait(10) # 隐性等待,最长等10秒。如果在规定时间内网页加载完成,则执行下一步,否则一直等到时间截止,然后执行下一步。

driver.get('https://www.baidu.com') # 打开百度网

print('已打开百度')

driver.find_element_by_id('kw').send_keys('黄惠康') # 在搜索框中输入搜索内容

print('已输入关键字')

driver.find_element_by_id('su').click() # 点击搜索按钮

print('已点搜索按钮')

# 链式定位,先定位整个搜索出来的区域然后再在整个区域中搜索关键字

driver.find_element_by_id('content_left').find_element_by_link_text('互动百科').click()

print('已打开互动')

handle(page2) # 直接调用重新定位函数

print('已定位新打开页面')

driver.find_element_by_class_name('digg').click() # 点击点赞图标

print('已点赞')

handle(page2) # 直接调用重新定位函数

driver.find_element_by_class_name('btn-editdoc').click() # 点击编辑图标

print('已点编辑')

driver.back() # 返回上一页

print('已返回上一页')

handle(page2) # 直接调用重新定位函数

print('已定位新页面')

driver.close() # 关闭当前面

print('已关闭当前面')

driver.quit() # 关闭浏览器

print('已关闭浏览器,完成!!!')

你可能感兴趣的:(Selenium链式定位)