Jma*_*man 4 python selenium css-selectors selenium-webdriver
我尝试使用以下代码按类名查找元素:
result.find_element_by_class_name("0")
Run Code Online (Sandbox Code Playgroud)
result是一个WebElement包含我正在寻找的元素.(我很确定)
该html-code方法是:
<tr class="0"></tr>
Run Code Online (Sandbox Code Playgroud)
但如果我这样做,我得到以下错误:
selenium.common.exceptions.InvalidSelectorException:消息:给定的选择器0无效或不会生成WebElement.发生以下错误:
InvalidSelectorError:指定了无效或非法的类名
我可以通过类名找到其他WebElements内部result(例如,有一个命名的元素last,如果我尝试获取它,它可以工作)
那么,如果类名是Number?,我如何按类名查找元素?(这是一个字符串)
ale*_*cxe 10
find_element_by_class_name()使用引擎盖下的CSS选择器(源):
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
Run Code Online (Sandbox Code Playgroud)
并且,问题是,根据CSS语法, "0"不是有效的类名,因为名称必须以下划线(_),连字符(-)或字母(相关主题)开头.在这种情况下,您可以通过XPath找到元素:
result.find_element_by_xpath("//tr[@class='0']")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
990 次 |
| 最近记录: |