selenium对于页面改变的定位元素处理办法

在学习selenimu中,总是发现元素定位不到,想了各种办法,最后总结大致有两个原因。

1.等待时间不够,页面还没有完全渲染就进行操作,使用time模块进行等待。

2.换了页面后,发现定位不到元素,因为浏览器还停留在最开始的页面,处理办法,加一行代码。

复制代码
browser.switch_to.window(browser.window_handles[-1])定位到最新打开窗口
复制代码
browser.switch_to.window(browser.window_handles[-2])定位到倒数第二个窗口
复制代码
browser.switch_to.window(browser.window_handles[0])定位到最开始页面
python 复制代码
from selenium import webdriver
import time
path = 'chromedriver.exe'
browser = webdriver.Chrome(path)

url = 'https://www.lagou.com/wn/'
browser.get(url)
time.sleep(5)
browser.find_element_by_id('search_input').send_keys('python')
time.sleep(2)
button = browser.find_element_by_id('search_button')
button.click()

browser.switch_to.window(browser.window_handles[-1])
time.sleep(2)
a = browser.find_elements_by_css_selector('#jobList .list__YibNq .item__10RTO')
print(a)
for li in a:
    c = li.find_element_by_css_selector('#openWinPostion').text
    d = li.find_element_by_css_selector('.money__3Lkgq').text
    h = li.find_element_by_css_selector('.p-bom__JlNur').text
    g = li.find_element_by_css_selector('.company-name__2-SjF').text
    print(c,h,g)

运行结果:

缺少那一行代码的话,结果为:

相关推荐
不会代码的小测试7 小时前
UI自动化-POM封装
开发语言·python·selenium·自动化
网络安全-杰克11 小时前
Jmeter压力测试工具安装与使用
自动化测试·软件测试·测试工具·jmeter·职场和发展
Wpa.wk12 小时前
接口自动化 - 接口鉴权处理常用方法
java·运维·测试工具·自动化·接口自动化
0思必得012 小时前
[Web自动化] Selenium获取元素的子元素
前端·爬虫·selenium·自动化·web自动化
Wpa.wk13 小时前
接口自动化 - 多环境统一文件配置 +多响应统一转换处理
运维·服务器·测试工具·自动化·接口自动化·统一配置
@zulnger14 小时前
selenium 自动化测试工具实战项目(窗口切换)
selenium·测试工具·自动化
0思必得01 天前
[Web自动化] Selenium处理滚动条
前端·爬虫·python·selenium·自动化
辣香牛肉面1 天前
Wireshark v4.6.2 开源免费网络嗅探抓包工具中文便携版
网络·测试工具·wireshark
测试工程师成长之路2 天前
Serenity BDD 框架:Java + Selenium 全面指南(2026 最新)
java·开发语言·selenium
may_一一2 天前
xpath定位:selenium和playwrightAnt Design / 表单类页面)
selenium·测试工具