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)

运行结果:

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

相关推荐
将车2442 小时前
selenium实现自动化脚本的常用函数
python·selenium·自动化
hwman2 小时前
使用Selenium Server 4连接已经运行的Firefox
selenium·测试工具·firefox
卓码软件测评4 小时前
第三方课题验收测试机构:【API测试工具Apifox使用指南】
功能测试·测试工具·单元测试·压力测试·可用性测试
程序员杰哥5 小时前
UI自动化测试实战:从入门到精通
自动化测试·软件测试·python·selenium·测试工具·ui·职场和发展
测试19987 小时前
Jmeter是如何实现接口关联的?
自动化测试·软件测试·python·测试工具·jmeter·职场和发展·接口测试
我的xiaodoujiao9 小时前
使用 Python 语言 从 0 到 1 搭建完整 Web UI自动化测试学习系列 18--测试框架Pytest基础 2--插件和参数化
python·学习·测试工具·pytest
胜天半月子14 小时前
接口测试 | Postman的高级用法的测试使用
测试工具·接口测试·postman
安冬的码畜日常1 天前
【JUnit实战3_01】第一章:JUnit 起步
测试工具·junit·单元测试
测试老哥1 天前
测试用例之正交试验法、功能图法
自动化测试·软件测试·python·功能测试·测试工具·职场和发展·测试用例
newxtc1 天前
【 广州产权交易所-注册安全分析报告-无验证方式导致安全隐患】
开发语言·人工智能·selenium·安全·yolo