【问题标题】:How to create a loop that checks if "Remove" exists for multiple "Remove"如何创建一个循环来检查多个“删除”是否存在“删除”
【发布时间】:2017-01-17 12:54:42
【问题描述】:

如何在脚本中循环以下逻辑,直到全部删除然后继续下一个文本。

if Text("Remove").exists():
click("Remove")

说明:

==============

网页 1 内容:

—— 一个(删除) — B(移除) — C(删除)

[“删除”是一个可点击的链接,可以删除A、B、C]

==============

现在是我的脚本的一部分:

如果文本(“删除”).exists(): 点击(“删除”) 点击(“确定”)

================

结果:

网页 1 内容:

—— B(移除) — C(删除)

=================

Above A 被脚本删除。 我的问题是如何循环,所以结果是:

================

结果:

网页 1 内容:

=================

因此对于网页上包含“删除”的每个文本 它执行脚本,直到不再有“删除”。

【问题讨论】:

  • 字符串列表,遍历列表?需要更多细节才能完整回答。
  • 您好,没有对应的字符串。编辑了帖子。
  • 什么意思? "Remove" 是一个字符串。您需要提供有关您正在尝试做什么的更多信息。就目前而言,您的问题尚不清楚,可能已结束。
  • 你的问题还不清楚。请向我们提供一个数组或列表或您所拥有的任何内容,并说明您希望在什么条件下发生什么。
  • @Gorilla 请不要破坏您的帖子。如果您尝试重新破坏已修复的帖子,将通知版主。版主会回滚你的破坏行为,并给你一个暂停,这将阻止你进一步编辑。 破坏公物的企图最终是徒劳的。

标签: python selenium helium


【解决方案1】:

String 有一个 replace 方法,您可以直接使用该方法将单词替换为''

page = 'Lorem remove ipsum elit remove id justo eu, finibus remove'
page2 = 'Class aptent taciti sociosqu ad litora remove remove remove'

pageList = [page, page2]

for page in pageList:
    while 'remove' in page:
        page = page.replace('remove', '')
    print page

#Out: Lorem  ipsum elit  id justo eu, finibus 
#Out: Class aptent taciti sociosqu ad litora   

如果是特定的 HTML 内容,请替换它。

page.replace('<a id="Remove">Remove</a>', '')

如果有帮助,请告诉我。

【讨论】:

  • 我去看看,会有回应的。
  • 上面解释了很多!
  • 尝试将if更改为while
【解决方案2】:

因为你的想法是围绕 .remove() :

a = 'This is just a Test'
a_list = []

for i in range(0, len(a) - 1):
    a_list.append(a[i])

while 't' in a_list: a_list.remove('t') # This Removes all lower case "t"s in a_list   

a = ''

# Then you can change it into a string again :
for n in range(0, len(a_list) - 1):
    a += a_list[n]

print(a) # This is the original 'a' only without lower case "t"s

但这不是我推荐的好方法(有点嘲笑):

.replace(,)

已经解释过了

【讨论】:

  • 上面解释了很多!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-06
  • 1970-01-01
  • 2011-09-17
  • 1970-01-01
相关资源
最近更新 更多