Selenium / Python2.7检查列表中的元素是否与网页上的元素匹配

时间:2015-09-26 20:19:25

标签: python selenium element src

from selenium import webdriver

fp = webdriver.FirefoxProfile('')
driver = webdriver.Firefox(firefox_profile=fp)
driver.set_window_size(1400, 1000)
driver.get('')

list_of_elements = driver.find_elements_by_css_selector('img[title][src*=images]')

srcs = [ele.get_attribute("src") for ele in list_of_elements]
print srcs

上面的代码打印出网页上图像的src链接。这些链接看起来都像http://example.com/test.gif,现在我有一个'测试'的列表。如果它们出现,我想要点击的部分图像。所以我需要的是检查' srcs'列表以及何时与“测试”相匹配?它点击该图像。感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

我们的想法是预先准备set个所需的文件名,从每个匹配图像的src属性中提取文件名,并检查文件名是否在集合中:

import re 

filenames = {"test1", "test2", "test3"}  # this is a set

pattern = re.compile(r"/(\w+)\.gif$")

result = []
for ele in list_of_elements:
    src = ele.get_attribute("src")
    match = pattern.search(src)
    if match:
        filename = match.group(1)
        if filename in filenames:  # since "filenames" is  a set, lookups are O(1)
            result.append(filename)

print(result)