主机论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 186|回复: 6

请教python大佬 这个判断怎么写

[复制链接]

78

主题

315

回帖

1220

积分

金牌会员

Rank: 6Rank: 6

积分
1220
发表于 2025-1-6 17:29:37 | 显示全部楼层 |阅读模式
wait.until(ec.element_to_be_clickable(
(By.XPATH, ele.样式_1))).click()

wait.until(ec.element_to_be_clickable(
(By.XPATH, ele.样式_2))).click()

这个点击按钮的元素有时候是:样式_1,有时候是:按钮_2

希望通过python实现,无论出现的样式_1还是样式_2都执行 click 动作,

样式_1和样式_2 的XPATH值 已经定义在config 文件里面。 不知道怎么写判断,两个样式来回跳

回复

使用道具 举报

1

主题

21

回帖

79

积分

注册会员

Rank: 2

积分
79
发表于 2025-1-6 17:31:28 | 显示全部楼层
  1. try:
  2. # 尝试点击 样式_1
  3. wait.until(ec.element_to_be_clickable((By.XPATH, ele.样式_1))).click()
  4. except:
  5. # 如果 样式_1 不可点击,则尝试点击 样式_2
  6. wait.until(ec.element_to_be_clickable((By.XPATH, ele.样式_2))).click()
复制代码
回复

使用道具 举报

78

主题

315

回帖

1220

积分

金牌会员

Rank: 6Rank: 6

积分
1220
 楼主| 发表于 2025-1-6 17:35:00 | 显示全部楼层

try的上面一句写啥?
回复

使用道具 举报

0

主题

10

回帖

34

积分

新手上路

Rank: 1

积分
34
发表于 2025-1-6 17:31:00 | 显示全部楼层
还是在xpath里判断吧 上面老哥的写法得等条件1超时的
回复

使用道具 举报

7

主题

293

回帖

959

积分

高级会员

Rank: 4

积分
959
发表于 2025-1-6 17:42:17 | 显示全部楼层
建议直接丢给AI试试,比如deepseek
回复

使用道具 举报

1

主题

21

回帖

79

积分

注册会员

Rank: 2

积分
79
发表于 2025-1-6 17:43:20 | 显示全部楼层
viewsnake 发表于 2025-1-6 17:35
try的上面一句写啥?

try前面就正常写你点击前的操作,如果不放心,可以在try前面判断XPATH出来没,比如没出来就刷新或者等待。
回复

使用道具 举报

8

主题

218

回帖

706

积分

高级会员

Rank: 4

积分
706
发表于 2025-1-6 17:57:39 | 显示全部楼层
本帖最后由 llyang 于 2025-1-6 18:08 编辑

先通过xpath判断样式1或者样式2,哪个存在,再点击

selenium模拟确实挺好用
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|主机论坛

GMT+8, 2025-5-15 18:21 , Processed in 0.070222 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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