如果类名是数字

时间:2015-08-11 16:46:43

标签: python selenium selenium-webdriver css-selectors

我尝试使用以下代码按类名查找元素:

result.find_element_by_class_name("0")

resultWebElement,其中包含我要查找的元素。 (我很确定)

html-code是:

<tr class="0"></tr>

但如果我这样做,我会收到以下错误:

  

selenium.common.exceptions.InvalidSelectorException:消息:给定的选择器0无效或不会产生WebElement。发生以下错误:

     

InvalidSelectorError:指定了无效或非法的类名

我可以通过类名找到WebElements内的其他result(例如,有一个名为last的元素,如果我尝试获取它,它可以工作)

那么,如果类名是Number,我如何按类名查找元素? (这是一个字符串)

1 个答案:

答案 0 :(得分:10)

IList<T>使用了 CSS选择器source):

find_element_by_class_name()

而且,问题是,根据CSS grammar“0”不是有效的类名,因为名称必须以下划线(if by == By.ID: by = By.CSS_SELECTOR value = '[id="%s"]' % value elif by == By.TAG_NAME: by = By.CSS_SELECTOR elif by == By.CLASS_NAME: # < HERE by = By.CSS_SELECTOR value = ".%s" % value elif by == By.NAME: by = By.CSS_SELECTOR value = '[name="%s"]' % value ),连字符(_)开头或一封信(relevant topic)。在这种情况下,您可以通过XPath找到元素:

-