如何从Python中的列表中定位特定的文本行

时间:2017-03-31 02:16:59

标签: python

我使用selenium和python2.7并且我有一个css选择器设置来获取元素的文本及其相应的链接。我获取共享帐户上的每个用户名称,以及指向其个人信息的链接。它逐行打印出每个名称,我希望能够引用人名并使用.click()函数转到用户配置文件链接。如何仅使用打印文本自动将类分配给完整元素?这是我的代码。

elem = driver.find_elements_by_css_selector(".profile_Link .profile_Name")
  for span in elem:
     print span.text

它将打印出像这样的名称列表

Josh Parker
Amy Doe
Parker Johns
...etc

我想通过仅使用其配置文件名称自动为每个元素分配一个类。因此,每当我从一个完整的新名称列表中获取数据时,我只需查看打印的配置文件名称并执行类似的操作

  elem = driver.find_elements_by_css_selector(".profile_Link .profile_Name")
  for span in elem:
     print span.text

 ("Josh Parker").click()

这将把我带到Josh Parker的链接

1 个答案:

答案 0 :(得分:2)

也许你的班级字典?

class_dict = {span.text: MyClass( ... args ... ) for span in elem}

然后

class_dict["Josh Parker"].click()

将根据需要调用click的{​​{1}}属性。