吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 673|回复: 6
收起左侧

[求助] 关于DrissionPage库的求助获取不到元素

[复制链接]
神仙不在 发表于 2024-12-24 23:29
[Python] 纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
from DrissionPage import ChromiumPage
import time
 
dp = ChromiumPage()
dp.get('https://ipx.yanxiu.com/cms/project/index?projectId=6289627417674085629')
dp.ele('x://*[@id="app"]/div[2]/section/div/div/div[3]/div/div[1]/div[2]/div/div/p').click()
dp.wait.load_start()
dp.ele('tag:input@@class=ivu-input ivu-input-default').input('15537680707')
dp.ele('x:/html/body/div[3]/div[2]/div/div/div/div/div[2]/form/div[2]/div/div/div/input').input('abc123abc')
dp.ele('tag:span@@text()=登录').click()
time.sleep(2)
dp.ele('x://*[@id="app"]/div[2]/section/div/div/div[3]/div/div[1]/div[2]/div/div/p').click()
dp.wait.load_start()
# 详细学情这个元素获取不到,我想点击这个元素
div = dp.ele('.assess-detail-btn').click()

登录后,详细学情这个元素获取不到,我想点击这个元素

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

zswnic 发表于 2024-12-25 07:41
用js的方法点击就行了
 楼主| 神仙不在 发表于 2024-12-25 08:46
document.querySelector('.assess-detail-btn span').click()             js可以点击,dp不能点击,为什么
MrFooL 发表于 2024-12-25 10:14
[Python] 纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
from DrissionPage import ChromiumPage
import time
 
dp = ChromiumPage()
dp.get('https://ipx.yanxiu.com/cms/project/index?projectId=6289627417674085629')
dp.ele('x://*[@id="app"]/div[2]/section/div/div/div[3]/div/div[1]/div[2]/div/div/p').click()
dp.wait.load_start()
dp.ele('tag:input@@class=ivu-input ivu-input-default').input('15537680707')
dp.ele('x:/html/body/div[2]/div[2]/div/div/div/div/div[2]/form/div[2]/div/div[1]/div/input').input('abc123abc')#密码输入框xpath有点问题已修改
dp.ele('tag:span@@text()=登录').click()
time.sleep(2)
dp.ele('x://*[@id="app"]/div[2]/section/div/div/div[3]/div/div[1]/div[2]/div/div/p').click()
 
time.sleep(2)#等待新tab打开
tab = dp.latest_tab  #取最后一个tab
current_url = tab.url
print(current_url) #确认tab Url正确
tab.ele('@text()=详细学情').click()#根据文字点击
#tab.run_js_loaded("document.querySelector('.assess-detail-btn span').click()")#或者直接使用js
待繁华落尽 发表于 2024-12-25 10:47
本帖最后由 待繁华落尽 于 2024-12-25 11:13 编辑

[Python] 纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
from DrissionPage import ChromiumPage
import time
  
dp = ChromiumPage()
dp.get('https://ipx.yanxiu.com/cms/project/index?projectId=6289627417674085629')
dp.ele('x://*[@id="app"]/div[2]/section/div/div/div[3]/div/div[1]/div[2]/div/div/p').click()
dp.wait.load_start()
dp.ele('tag:input@@class=ivu-input ivu-input-default').input('15537680707')
dp.eles('tag:input@@class=ivu-input ivu-input-default')[1].input('abc123abc')
dp.ele('tag:span@@text()=登录').click()
time.sleep(2)
#点击获取新标签页对象
dp1 = dp('x://*[@id="app"]/div[2]/section/div/div/div[3]/div/div[1]/div[2]/div/div/p').click.for_new_tab()
time.sleep(2)
dp1.ele('.iconfont icon-xiao-you study-detail-iconfont').click()
待繁华落尽 发表于 2024-12-25 10:50
因为这个网页点击了会跳转新的标签页  然后就获取不到新的标签页内容  解决方法就是获取新的标签页就可以定位到了
 楼主| 神仙不在 发表于 2024-12-25 11:21
感谢楼上各位解答,学到了
[Python] 纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
from DrissionPage import ChromiumPage
import time
 
dp = ChromiumPage()
dp.get('https://ipx.yanxiu.com/cms/project/index?projectId=6289627417674085629')
dp.ele('x://*[@id="app"]/div[2]/section/div/div/div[3]/div/div[1]/div[2]/div/div/p').click()
dp.wait.load_start()
dp.ele('tag:input@@class=ivu-input ivu-input-default').input('15537680707')
dp.ele('x:/html/body/div[3]/div[2]/div/div/div/div/div[2]/form/div[2]/div/div/div/input').input('abc123abc')
dp.ele('tag:span@@text()=登录').click()
time.sleep(2)
dp.ele('x://*[@id="app"]/div[2]/section/div/div/div[3]/div/div[1]/div[2]/div/div/p').click()
time.sleep(2)
# 必须获取新的tab页
tab = dp.latest_tab
# tab.ele('css:.assess-detail-btn span').click()
# 下面的语法也行
tab.ele('tag:span@@text()=详细学情').click()
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2025-5-23 14:40

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表