0
点赞
收藏
分享

微信扫一扫

selenium3 两个案例(1. 短连接获取;2. 百度搜索内容获取)

小磊z 2022-07-12 阅读 101


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()


举报

相关推荐

0 条评论