如何获取Selenium定位网页元素所需的class name属性值?
获取网页按钮class name的正规途径
- 浏览器开发者工具右键检查:这是最常用的稳定途径,所有主流Chrome、Edge、Firefox、Safari浏览器均支持。操作步骤为打开目标网页,找到你要点击的按钮后右键点击,选择「检查」(部分浏览器显示为「审查元素」),开发者工具的元素面板会自动定位到该按钮对应的HTML代码行,直接提取代码中
class属性双引号内的内容即可。比如按钮对应的HTML为<button class="submit-btn login-form">立即登录</button>,那么submit-btn、login-form都是该按钮的可用class name,注意不要传入带空格的完整字符串,find_element_by_class_name方法仅支持单个class值传入。 - 查看网页完整源代码:如果右键检查被网站限制,可以按快捷键
Ctrl+U(Mac系统为Command+Option+U)打开网页全量源代码,按下Ctrl+F(Mac系统为Command+F)调出搜索框,输入按钮上的显示文字、id等唯一特征定位到对应的按钮标签,再提取class属性值即可。 - Selenium调试批量输出属性:如果按钮特征模糊不好直接定位,可以先用
find_elements_by_tag_name("button")获取当前页面所有按钮元素,遍历每个元素调用.get_attribute("class")和.text打印属性和按钮显示文字,匹配到目标按钮后就能拿到对应的class name。
注意:如果刷新网页后按钮的class值会发生变化,说明是动态生成的class,不推荐使用class name定位,可换用id、xpath、css选择器等更稳定的定位方式。另外Selenium 4.0及以上版本已废弃
find_element_by_class_name写法,推荐替换为driver.find_element(By.CLASS_NAME, "目标class名"),使用前需要先导入依赖from selenium.webdriver.common.by import By。
内容的提问来源于stack exchange,提问作者localhost
相关产品推荐
相关产品推荐

