主机论坛

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

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

[复制链接]

64

主题

249

回帖

984

积分

高级会员

Rank: 4

积分
984
发表于 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()
复制代码
回复

使用道具 举报

64

主题

249

回帖

984

积分

高级会员

Rank: 4

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

try的上面一句写啥?  
回复

使用道具 举报

0

主题

10

回帖

34

积分

新手上路

Rank: 1

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

使用道具 举报

7

主题

291

回帖

951

积分

高级会员

Rank: 4

积分
951
发表于 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

主题

211

回帖

680

积分

高级会员

Rank: 4

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

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

selenium模拟确实挺好用
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-3-13 08:37 , Processed in 0.063059 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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