Python Selenium 中的 css_selector 定位
- 什么是 css_selector?
CSS Selector 是一种基于 HTML 标签属性、层级和文本内容等信息来定位元素的方法。CSS Selector 语法类似于 CSS 样式规则,通过指定选择器来获取符合条件的元素。
通过使用 css_selector,我们可以轻易的通过 HTML 标签的属性进行元素的定位。 - css_selector 语法规则:
我们可以通过属性、层级和文本内容等信息定位元素,-css_selector 的语法如下图所示:
其中,符号说明: *tagname
标签名 *#id
id 属性值 *.class
class 属性值 *[]
任意属性 *:nth-child(n)
元素层级 *,
分组多个元素选择器 - css_selector 应用:
我们可以使用 css_selector 定位页面元素,如:
# 导入 webdriver 模块 from selenium import webdriver # 实例化浏览器对象 driver = webdriver.Chrome() # 打开网页 driver.get("https://www.baidu.com") # 使用 css_selector 定位搜索框元素,并输入关键字 search_box = driver.find_element_by_css_selector("#kw") search_box.send_keys("pidancode.com") # 使用 css_selector 定位搜索按钮,并点击 search_button = driver.find_element_by_css_selector("#su") search_button.click() # 关闭浏览器 driver.quit()
这段代码会使用 css_selector 定位百度搜索框元素,并输入关键字“pidancode.com”;然后通过 css_selector 定位搜索按钮,并点击搜索;最后关闭浏览器。
如果我们需要使用字符串作为范例,可以将代码改为:
# 定位百度搜索框元素,并输入关键字“pidancode.com” search_box = driver.find_element_by_css_selector("#kw") search_box.send_keys("pidancode.com") # 定位百度搜索按钮,并点击 search_button = driver.find_element_by_css_selector("#su") search_button.click()
相关文章