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)

运行结果:

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

相关推荐
苏生十一_Nojambot9 小时前
Postman下载安装与使用汉化版教程
测试工具·postman
卓码软件测评9 小时前
软件测试:如何在Postman中配置和自动化OAuth 2.0与JWT认证?
测试工具·单元测试·自动化·测试用例·postman·可用性测试
一念一花一世界9 小时前
接口管理工具选型:PostMan与PostIn全面对比指南
测试工具·postman·接口管理工具
软件测试雪儿9 小时前
Postman越来越难用了
软件测试·测试工具·jmeter·postman
十二测试录9 小时前
PostMan——安装教程(图文详解)
功能测试·测试工具·postman
随笔写9 小时前
Postman如何汉化(保姆级教程)
测试工具·postman
安冬的码畜日常9 小时前
【玩转 Postman 接口测试与开发2_020】(完结篇)DIY 实战:随书示例 API 项目本地部署保姆级搭建教程(含完整调试过程)
python·测试工具·django·接口测试·postman·fastapi·api项目
幸福的达哥9 小时前
postman免登录版本,实测可用(解决一直卡在登录界面无法进入的问题)
测试工具·postman
山里幽默的程序员9 小时前
Postman平替工具?10个API测试利器横评
测试工具·postman
爱吃 香菜9 小时前
一文掌握接口测试三大工具:Jmeter、Postman、PyCharm
自动化测试·软件测试·测试工具·jmeter·接口测试·postman·职场经验