0

你好 stackoverflow 用户。今天,我想就我项目的一小部分向您寻求帮助。所以......我已经完成了使用 Selenium 从 div 获取文本的小型应用程序,文本不是静态的,它会随着角色的移动而变化。让我展示:

botloc = driver.find_element_by_id('botloc').text
    print botloc

我已经循环了它,所以我可以每 0.5 秒更新一次(字符在半秒内移动 1 个方格)。当然,我知道用键绑定更好,但是在测试阶段循环对我来说很好。

[示例]一个 botloc 的输出如下所示:

26,20 

这是实际位置的 x 和 y,所以我想使用逗号作为分隔符来分隔 x 和 y,然后我可以将它们中的每一个分配给单个名称(def,class,等等)。

[示例]移动角色时 5 x botloc 的输出如下所示:

28,20
28,21
28,22
29,22
30,22

所以基本上,这都是关于方形地图的,但我不知道如何使用它,所以我用简单的逻辑和数学创造了我自己的想法。

我也试图从这里了解信息:http: //docs.python.org/2/tutorial/inputoutput.html但现在我想做的作业如上所述。

我试图使用:

firstpart, secondpart = botloc[:len(botloc)/2], botloc[len(botloc)/2:]

但是在将它包含到我的代码中之后,我的代码botloc无法正常工作(没有错误,没有文本,只有白色),而且分隔符也是如此,是否有可能解决这个问题?

感谢您对我新python学习者的理解!

4

1 回答 1

2
>>> botloc="28,20"
>>> botX,botY = map(int,botloc.split(','))
>>> botX,botY
(28, 20)

如果你想存储多个机器人位置,你可以这样做:

>>> botLocations = []
>>> botLocations.append(map(int,botloc.split(',')))
>>> botLocations
[[28, 20]]

每次你得到一个新botloc的时,你用逗号分割它,将每个分隔的值转换成一个 int,并将它存储在 botLocations 中。


botloc[:len(botloc)/2], botloc[len(botloc)/2:]

如果 botLoc 不均匀,即198,2. 相反,您将不得不做类似的事情

>>> botloc="28,20"
>>> botloc[:botloc.index(',')]
'28'
>>> botloc[botloc.index(',')+1:]
'20'

分隔字符串。

于 2013-05-17T13:29:04.687 回答