VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > Python基础教程 >
  • Python爬虫之selenium库使用详解(2)

 

上述代码运行后,会自动打开Chrome浏览器,并登陆百度打印百度首页的源代码,然后关闭浏览器

 

查找元素

单个元素查找

1
2
3
4
5
6
7
8
9
10
from selenium import webdriver
browser = webdriver.Chrome()
browser.get("http://bbs.pythontab.com")
input_first = browser.find_element_by_id("q")
input_second = browser.find_element_by_css_selector("#q")
input_third = browser.find_element_by_xpath('//*[@id="q"]')
print(input_first)
print(input_second)
print(input_third)
browser.close()

 

这里我们通过三种不同的方式去获取响应的元素,第一种是通过id的方式,第二个中是CSS选择器,第三种是xpath选择器,结果都是相同的。

这里列举一下常用的查找元素方法:

find_element_by_name

find_element_by_id

find_element_by_xpath

find_element_by_link_text

find_element_by_partial_link_text

find_element_by_tag_name

find_element_by_class_name

find_element_by_css_selector

 

下面这种方式是比较通用的一种方式:这里需要记住By模块所以需要导入

1
2
3
4
5
6
7
8
from selenium.webdriver.common.by import By
from selenium import webdriver
from selenium.webdriver.common.by import By
browser = webdriver.Chrome()
browser.get("http://bbs.pythontab.com")
input_first = browser.find_element(By.ID,"q")
print(input_first)
browser.close()

当然这种方法和上述的方式是通用的,browser.find_element(By.ID,"q")这里By.ID中的ID可以替换为其他几个

 

多个元素查找

其实多个元素和单个元素的区别,举个例子:find_elements,单个元素是find_element,其他使用上没什么区别,通过其中的一个例子演示:

1
2
3
4
5
6
from selenium import webdriver
browser = webdriver.Chrome()
browser.get("http://bbs.pythontab.com")
lis = browser.find_elements_by_css_selector('.service-bd li')
print(lis)
browser.close()

相关教程