【问题标题】:selenium, iterate over list, finding the selectorselenium,遍历列表,找到选择器
【发布时间】:2017-08-19 03:28:27
【问题描述】:

我正在尝试在 selenium 中查找 webelement 的属性,这给了我 webelement 的选择器。

我意识到以下属性可用于 web 元素:

tag_name
text
size
location
parent
id

我只是想知道是否有任何方法可以获取我正在迭代的特定元素的 id 或 class_name。例如,我有以下硒(我使用硒基,所以忽略“打开”功能)

    self.open('file:///myfile.htm')# Opens the url
    self.header = self.driver.find_element_by_class_name("my-class-name")
    name = self.driver.find_elements_by_css_selector('*')
    self.process_checks()
    for index in range(0,3):
        print name[index].id

我可以遍历元素“my-class-name”中的元素。但是,这些属性都没有给我实际的选择器名称。有什么方法可以识别,所以我可以做到以下几点:

如果名称[索引].selector = 'my-div-inside-class-name': doStuff()

get_attribute 不是我需要的。执行以下操作要容易得多:

    #Limit xpath to the surrounding div        
    self.header = self.driver.find_element_by_class_name("surrounding-div")
    #Get elements inside surrounding div, with "elements-i-need" in the class name
    self.name = self.header.find_elements_by_class_name('elements-i-need')
    for index in range(len(self.name)):
        #You can print each found element here.
        print(self.name[index].text)

【问题讨论】:

标签: python selenium css-selectors


【解决方案1】:

正如答案中提到的,我是这样做的:

#Limit xpath to the surrounding div        
self.header = self.driver.find_element_by_class_name("surrounding-div")
#Get elements inside surrounding div, with "elements-i-need" in the class name
self.name = self.header.find_elements_by_class_name('elements-i-need')
for index in range(len(self.name)):
    #You can print each found element here.
    print(self.name[index].text)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-09
    • 1970-01-01
    • 2010-12-25
    • 2017-04-04
    相关资源
    最近更新 更多