python3 selenium如何判断页面元素的状态

使用场景:

我在测试过程中可能会遇到以下这种情况:

“未点赞”按钮的页面元素为:class="teacher-zan"

“已点赞”按钮的页面元素为:class="teacher-zan teacher-zan-on"

我需要做到事情为:如果这个按钮已经被点赞了,那我就打印“该账号已经点赞了“,如果没有被点赞 ,那我就进行点赞操作

使用方法:


try:

  元素定位

  返回真

except:

  返回假

举例说明:

from selenium import webdriver
import time

driver = webdriver.Chrome()
driver.get('http://www.kgc.cn/app_ui/26693.shtml')
driver.maximize_window()

# 执行登录操作
driver.find_element_by_link_text('登录').click()
driver.find_element_by_id('KgcForm_models_LoginForm_identity').send_keys('输入用户名')
driver.find_element_by_id('KgcForm_models_LoginForm_password').send_keys('输入密码')
driver.find_element_by_id('login').click()
time.sleep(3)

try:
    driver.find_element_by_css_selector('a.teacher-zan-on"')
    a = True
except:
    a = False

if a == True:
    # 执行点赞操作
    zan_num = driver.find_element_by_css_selector('span.teacher-zan-num').text
    print(zan_num)
    zan_button = driver.find_element_by_css_selector('a.teacher-zan').click()

else:
    print('该账号已经点赞了')

你可能感兴趣的:(python3 selenium如何判断页面元素的状态)