当前位置: 首页 > news >正文

php mysql 网站建设济南seo整站优化厂家

php mysql 网站建设,济南seo整站优化厂家,青岛软件开发公司,室内设计网站导航目录 1.为什么使用selenium 2.安装selenium 2.1Chrome浏览器 2.2驱动 2.3下载selenium 2.4测试连接 3.selenium元素定位 3.1根据id来找到对象 3.2根据标签属性的属性值来获取对象 3.3根据xpath语句来获取对象 3.4根据标签的名字获取对象 3.5使用bs4的语法来获取对象…

目录

1.为什么使用selenium

2.安装selenium

2.1Chrome浏览器

2.2驱动

2.3下载selenium

2.4测试连接

3.selenium元素定位

3.1根据id来找到对象

3.2根据标签属性的属性值来获取对象

3.3根据xpath语句来获取对象

3.4根据标签的名字获取对象

3.5使用bs4的语法来获取对象

3.6使用a标签来获取对象

3.7所有代码

4.selenium元素信息

5.seleniu的交互

6.收藏一个大佬的分享

1.为什么使用selenium

模拟浏览器功能,自动执行网页中的js代码,实现动态加载

2.安装selenium

Selenium Python 教程 - 知乎 (zhihu.com)

我是根据这个博主的文章学习下载安装的。

因为一直用的是Edge的浏览器,所以在后面就遇到了很多问题。

忙活半小时终于成功了。报了各种错误。现在终于弄好了。

第一次报误:

ValueError: Timeout value connect was <object object at 0x000001DF6F6800B0>, but it must be an int, float or None.

第二次报错:

AttributeError: 'str' object has no attribute 'capabilities'

第三次报错:

DeprecationWarning: executable_path has been deprecated, please pass in a Service object

最后协调了各个版本:

2.1Chrome浏览器

Chrome浏览器版本,一开始下的120最新版,结果发现下载最新版本的驱动网站进不去,然后就去下载之前的老版本

这里可以分享一个安装包,自行下载。链接:https://pan.baidu.com/s/19kURAxzB5Nib0eyOOU0jew?pwd=1234 
提取码:1234

2.2驱动

驱动就可以直接进这个网站下载。CNPM Binaries Mirror (npmmirror.com)

然后选择适合自己电脑的版本就可以啦。

下载完驱动后我是直接将驱动解压缩后放在我日常编写程序的目录下的。不知道这个有啥讲究没。

或者看网上其他大佬们去修改了环境变量。Selenium安装WebDriver最新Chrome驱动(含116/117/118/119)_chromedriver 119-CSDN博客

2.3下载selenium

我下载的是4.5.0版本的,太高的版本就会报错,我也不知道什么原因

2.4测试连接

代码一:

# 导入selenium
from selenium import webdriver
# 创建浏览器操作对象
path = 'chromedriver.exe'
browser = webdriver.Chrome(path)
# 访问网站
url = 'https://www.baidu.com'
browser.get(url)

这个运行后,浏览器倒是有反应,但还是报错呜呜呜呜呜

代码二:

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
# 尝试传参
path = 'chromedriver.exe'
s = Service(path)
driver = webdriver.Chrome(service=s)
url = 'https://www.baidu.com/'
driver.get(url)

那这个就是完全没有问题的。解决方法参考了这个大佬的文章。

selenium 报错 DeprecationWarning: executable_path has been deprecated, please pass in a Service object-CSDN博客

3.selenium元素定位

现在的用法变了,跟着网上做的报错了。

现在变成这种传参的了。

并且还要再导入一个库

from selenium.webdriver.common.by import By

3.1根据id来找到对象

button = browser.find_element(by=By.ID,value='su')
print(button)

3.2根据标签属性的属性值来获取对象

button = browser.find_element(By.NAME,value='wd')
print(button)

3.3根据xpath语句来获取对象

button = browser.find_element(by='xpath',value='//input[@id="su"]')
print(button)

3.4根据标签的名字获取对象

button = browser.find_element(by=By.TAG_NAME,value='input')
print(button)

3.5使用bs4的语法来获取对象

button = browser.find_element(by=By.CSS_SELECTOR,value='#su')
print(button)

3.6使用a标签来获取对象

button = browser.find_element(by=By.LINK_TEXT,value='新闻')
print(button)

3.7所有代码


from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By# 尝试传参
path = 'chromedriver.exe'
s = Service(path)
browser = webdriver.Chrome(service=s)
url = 'https://www.baidu.com/'
browser.get(url)# 元素定位
# 根据id找到对象
# button = browser.find_element(by=By.ID,value='su')
# print(button)# 根据标签属性的属性值来获取对象
# button = browser.find_element(By.NAME,value='wd')
# print(button)# 根据xpath语句来获取对象
# button = browser.find_element(by='xpath',value='//input[@id="su"]')
# print(button)# 根据标签的名字获取对象
# button = browser.find_element(by=By.TAG_NAME,value='input')
# print(button)# 使用bs4的语法来获取对象
# button = browser.find_element(by=By.CSS_SELECTOR,value='#su')
# print(button)# 使用a标签来获取对象
button = browser.find_element(by=By.LINK_TEXT,value='新闻')
print(button)

4.selenium元素信息

# 获取元素信息
input = browser.find_element(by=By.ID,value='su')
# 获取元素类属性
print(input.get_attribute('class'))
# 获取元素标签属性
print(input.tag_name)

 什么叫做获取文本信息?

button = browser.find_element(by=By.LINK_TEXT,value='新闻')
print(button.text)

5.seleniu的交互

js_button = 'document.documentElement.scrollTop=100000'
button.execute_script(js_button)

在网上跟着别人用的这个代码,就给报错了哈哈哈哈哈

AttributeError: 'WebElement' object has no attribute 'execute_script'

然后根据这篇文章改了一下。python学习之滚动页面函数execute_script-CSDN博客

js = 'window.scrollTo(0,document.body.scrollHeight)'
browser.execute_script(js)

成功了!!!

最终代码就是这样了


from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By# 尝试传参
path = 'chromedriver.exe'
s = Service(path)
browser = webdriver.Chrome(service=s)
url = 'https://www.baidu.com/'
browser.get(url)import time
time.sleep(2)# 获取文本框对象
input = browser.find_element(by=By.ID,value='kw')# 在文本框输入周杰伦
input.send_keys('周杰伦')time.sleep(2)# 获取百度一下的按钮
button = browser.find_element(by=By.ID,value='su')
# 点击按钮
button.click()time.sleep(2)# 滑倒底部
js = 'window.scrollTo(0,document.body.scrollHeight)'
browser.execute_script(js)time.sleep(2)# 获取下一页的按钮
next = browser.find_element(by='xpath',value='//a[@class="n"]')
# 点击下一页
next.click()time.sleep(2)# 回到上一页
browser.back()
time.sleep(2)
# 回去
browser.forward()
time.sleep(3)
# 退出浏览器
browser.quit()

6.收藏一个大佬的分享

Selenium Python 教程 - 知乎 (zhihu.com)

http://www.hkea.cn/news/624011/

相关文章:

  • 新手如何给自己的网站做优化bt种子磁力搜索
  • 成都学校网站制作遵义网站seo
  • d?t网站模版宁波seo在线优化哪家好
  • c做的网站淄博做网站的公司
  • 网站开发制作公司郑州网站建设外包
  • 注册域名用个人还是公司好长沙seo优化排名
  • 电子商务网站建设与维护展望今日新闻联播
  • 网站建设主流技术站长之家ping检测
  • 温州建设集团有限公司网站首页百度手机版网页
  • 广西网络干部学院官网seo推广人员
  • 可以做红娘的相亲网站江北seo综合优化外包
  • 公司建设网站需要注意什么软文广告示范
  • 高端网站建设 引擎技企业网页
  • 模仿别人网站百度外链查询工具
  • 教程建设网站广告免费发布信息平台
  • wordpress php5.4支持宁波seo排名优化
  • 宁波制作网站哪个好百度怎么发自己的小广告
  • 新浪网站用什么语言做的百度软件下载
  • wordpress如何做网站重庆seo俱乐部联系方式
  • 教育局两学一做网站深圳全网推广平台
  • 淘宝做详情页代码网站免费大数据查询平台
  • 苹果做安卓游戏下载网站好新媒体营销案例ppt
  • 网络营销实务关键词优化seo优化排名
  • 网站推广优化教程游戏代理加盟平台
  • 网站提升权重全国疫情高峰感染进度
  • 营销型网站怎么做智能建站abc
  • 捷信做单官方网站网络服务主要包括什么
  • 网站建设的方案费用什么时候网络推广
  • 这么做3d展示网站公司百度官网优化
  • 工业设计软件上市公司搜索引擎优化的方法