如何写3个几乎相等的XPath更简洁

2024-06-28 19:37:45 发布

您现在位置:Python中文网/ 问答频道 /正文

设置

我用硒来填表格

我有三个XPath指向表单中的三个不同字段

'//*[@id="down-contact-box"]/div[3]/form/fieldset/div[2]/div[1]/div[1]/input'
'//*[@id="down-contact-box"]/div[3]/form/fieldset/div[2]/div[1]/div[2]/input'
'//*[@id="down-contact-box"]/div[3]/form/fieldset/div[2]/div[1]/div[3]/input'

只有最后的div[]不同


问题

我宁愿做一些更简洁的事情,而不是每次都用它们

我在找能让我做的事

def x(i) = '//*[@id="down-contact-box"]/div[3]/form/fieldset/div[2]/div[1]/div[i]/input'

这样我只需要写x(1), x(2)x(3)

我该怎么做


Tags: divformboxid表单inputdefcontact
1条回答
网友
1楼 · 发布于 2024-06-28 19:37:45

如果我正确理解你的问题,那就相当简单了。 你可以这样做:

def x(i):
    return '//*[@id="down-contact-box"]/div[3]/form/fieldset/div[2]/div[1]/div[{}]/input'.format(i)

相关问题 更多 >