Как найти элементы, которые не включают определенное имя класса с селеном и питоном

Просто создайте крючок перед циклом тренировки:

class GlobalStepHook(tf.train.SessionRunHook):
    def __init__(self):
        self._global_step_tensor = None
        self.value = None

    def begin(self):
        self._global_step_tensor = tf.train.get_global_step()

    def after_run(self, run_context, run_values):
        self.value = run_context.session.run(self._global_step_tensor)

    def __str__(self):
        return str(self.value)

global_step = GlobalStepHook()
for epoch in range(n_epochs):
    estimator.train(input_fn=input_fn, hooks=[global_step])
    # Now the global_step hook contains the latest value of global_step
    my_custom_eval_method(global_step.value)
1
задан DebanjanB 19 January 2019 в 14:37
поделиться

2 ответа

Найти все элементы с атрибутом class как examplenameA , исключая элементы с атрибутом class [ 117] как examplenameB вы можете использовать следующее решение:

  • css_selector:

    items = driver.find_elements_by_css_selector("div.examplenameA:not(.examplenameB)")
    
  • xpath:

    items = driver.find_element_by_xpath("//div[contains(@class, 'examplenameA') and not(@class='examplenameB')]")
    
0
ответ дан DebanjanB 19 January 2019 в 14:37
поделиться

В этом случае вы можете использовать xpath. Итак, согласно вашему примеру, вам нужно использовать что-то вроде driver.find_elements_by_xpath('//div[@class='examplenameA'). Это даст вам только элементы, чей класс examplenameA

Итак, как работает xpath: Xpath=//tagname[@attribute='value']

Следовательно, класс рассматривается как атрибут & amp; xpath будет пытаться сопоставить точное заданное значение, в этом случае examplenameA, поэтому <div class="examplenameA examplenameB"> будет игнорироваться

В случае find_elements_by_class_name method он будет пытаться сопоставить элемент, который имеет класс как [ 116], поэтому <div class="examplenameA examplenameB"> также будет соответствовать

Надеюсь, это поможет

0
ответ дан Dev 19 January 2019 в 14:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: