1. 短连接获取
import time
from selenium import webdriver
def main():
# key_word = input("请输入转换地址:")
key_word = "https://blog.csdn.net/chk218/article/details/81878479"
# 驱动并自动打开chrome浏览器
browser = webdriver.Chrome("F:\chrome_download\chromedriver_win32/chromedriver.exe")
browser.get('https://tinyurl.com/create.php')
# 定位输入框
browser.find_element_by_id("url").send_keys(key_word)
# 定义点击按钮,并点击
browser.find_element_by_xpath('//*[@id="f"]/input[3]').click()
# 查找元素
short_url = browser.find_element_by_xpath('//*[@id="contentcontainer"]/div[2]/b')
print(short_url.get_attribute("value"))
print(short_url.get_attribute("textContent"))
print(short_url.get_attribute("outerHTML"))
browser.quit()
# 短地址变成长地址
def short2long():
import requests
url = 'https://tinyurl.com/y3yj6hwm'
res = requests.head(url)
print(res.headers.get('location'))
if __name__ == "__main__":
main()
2. 百度搜索内容获取
import time
from selenium import webdriver
def chrom():
# 指定chrom的驱动
# 执行到这里的时候Selenium会到指定的路径将chrome driver程序运行起来
driver = webdriver.Chrome('F:\chrome_download\chromedriver_win32/chromedriver.exe')
# driver = webdriver.Firefox()#这里是火狐的浏览器运行方法
# get 方法 打开指定网址
driver.get('http://www.baidu.com')
# driver.maximize_window() # 窗口最大化
driver.implicitly_wait(10) # 隐式等待10s查询元素
# #获取浏览器名字
# print(driver.name)
# #获取页面title
# print(driver.title)
# #获取元素的文本
# text=driver.find_element_by_xpath('//*[@id="qrcode"]/div/div[2]/p[2]').text
# print(text)
# #获取元素的标签
# tag=driver.find_element_by_id('kw').tag_name
# print(tag)
# 选择网页元素
element_keyword = driver.find_element_by_id('kw')
# 输入字符
element_keyword.send_keys('宋曲')
# 找到搜索按钮
# element_search_button = driver.find_element_by_id('su')
print(element_keyword.get_attribute("value"))
# 文本还可以使用deiver.find_element_by_xx().get_attribute('attributeName')来获取。
# get_attribute('textContent') 获取元素标签的内容
# get_attribute('innerHTML') 获取元素内的全部HTML
# get_attribute('outerHTML') 获取包含选中元素的HTML
time.sleep(2)
ret = driver.find_element_by_id('kw').get_attribute("value")
if ret.startswith('宋曲'): # 是不是已宋曲开头
print('测试通过')
else:
print('不通过')
# 获取联想词
elements = driver.find_elements_by_class_name('bdsug-overflow')
for i in elements:
print(i.get_attribute('data-key'))
# 最后,driver.quit()让浏览器和驱动进程一起退出,不然桌面会有好多窗口
driver.quit()
if __name__ == "__main__":
chrom()