UserWarning: Selenium support for PhantomJS has been deprecated, please use headless versions of Chrome or Firefox instead
warnings.warn('Selenium support for PhantomJS has been deprecated, please use headless '
# 获取id标签值
element = driver.find_element_by_id("passwd-id")# 获取name标签值
element = driver.find_element_by_name("user-name")# 获取标签名值
element = driver.find_elements_by_tag_name("input")# 也可以通过XPath来匹配 推荐使用
element = driver.find_element_by_xpath("//input[@id='passwd-id']")
简单使用:
from selenium import webdriver
from lxml import etree
from selenium.common.exceptions import TimeoutException
# 设置chromedriver的路径
driver_path = r"你的chromedriver.exe位置"# 启用chromedriver(声明浏览器对象)
driver = webdriver.Chrome(executable_path=driver_path)#简单的先进入百度首页
driver.get('https://www.baidu.com/')#设置打开浏览器的宽高
driver.set_window_size(1500,1000)# 页面缓冲时间(隐式等待)怕网不好的时候加载慢,导致后续抓取网页代码不全-->属于笨方法,不智能
driver.implicitly_wait(3)# 页面缓冲时间(显示等待-->智能),先try以下,不行就等等再trytry:
element = WebDriverWait(driver,5).until(
EC.presence_of_element_located((By.ID,'kwssss')))print(element)except TimeoutException as ex:print(ex)#抓取网页源码
html = etree.HTML(driver.page_source)# 百度测试 抓取输入框,send_keys是在input里输入内容然后等待三秒钟再清空# inputTag = driver.find_element_by_id('kw')# inputTag = driver.find_element_by_name('wd')# inputTag = driver.find_element_by_class_name('s_ipt')
inputTag = driver.find_element(By.ID,'kw')
inputTag.send_keys('python')
time.sleep(3)
inputTag.clear()#也可以不清空,抓取搜索按钮,点击搜索实践# submitBtn = driver.find_element(By.ID, 'su')# submitBtn =driver.find_element_by_xpath("//*[@id='su']")# submitBtn.click()