目录
Requests:Http请求
#发出request请求,用于设置请求中的cookies保持某个参数
sessions = requests.session()
response = sessions.get(mainurl, headers=headers)#服务器返回所响应的页面
response =sessions.post(response.url,headers = headers,data=databody)#session保持cookies登录信息。向所响应的页面传输数据获得新页面
print(response.text)#获取页面的内容
模拟浏览器自动交互+获取页面信息
#所使用模块:DesiredCapabilities,webdriver,IEDriverServer.exe/chromedriver.exe
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
from selenium import webdriver
DesiredCapabilities.INTERNETEXPLORER['ignoreProtectedModeSettings'] = True#设置IE自动化保护机制
browserpath='..\\IEDriverServer.exe'#所调用IE的地址
driver=webdriver.Ie(executable_path =browserpath)
driver.get('')#填入网址
#获取页面元素内容:
#参考网址:https://selenium-pythonzh.readthedocs.io/en/latest/locating-elements.html
username=driver.find_element_by_id('user')#获取第一个id=user的元素
username.send_keys(12345678)#向id=user的元素填入值12345678
button=driver.find_element_by_id('btnlogin').click()#点击id=btnlogin的按钮
element=driver.find_element_by_tag_name('h1')#查找第一个h1元素
content = driver.find_element_by_class_name('content')#查找第一个class=content的元素
content1 = driver.find_element_by_css_selector('p.content')#查找第一个class=content的p元素
test = driver.find_element_by_xpath("//form[@id='loginForm']/input[1]")#id为 loginForm 的form元素的第一个input子元素
#当element变成elements时查找所有的,将会返回一个列表
'''
使用chrom
driver=webdriver.Chrome(executable_path =browserpath)
请注意当chrom浏览器与所下载的chromdriver版本不符将会导致闪退
'''
例子:
from selenium import webdriver
driver=webdriver.Chrome(executable_path =r'..\chromedriver.exe')
driver.get(r'https://www.runoob.com/python3/python-requests.html')
inputText=driver.find_element_by_id('s')
theText=driver.find_elements_by_xpath("//table[@class='reference']/tbody")
theclass=driver.find_element_by_class_name('example')
thecss=driver.find_element_by_css_selector('h2.example')
#.text可获得元素的值
print("the idText is:"+inputText.text)#空
print("The cssText is:"+thecss.text)#
print("The css is:"+str(thecss))#
print("The classText is:"+theclass.text)
for x in theText:
print("The xpathText is:")
print(x.text)
结果: