Python selenium插件使用 可刷浏览量

常见selenium 代码及含义:

Selenium是一个Web的自动化测试工具,最初是为网站自动化测试而开发的,类型像我们玩游戏用的按键精灵,可以按指定的命令自动操作,不同是Selenium 可以直接运行在浏览器上,它支持所有主流的浏览器(包括PhantomJS这些无界面的浏览器)。 Selenium 可以根据我们的指令,让浏览器自动加载页面,获取需要的数据,甚至页面截屏,或者判断网站上某些动作是否发生。

Selenium 自己不带浏览器,不支持浏览器的功能,它需要与第三方浏览器结合在一起才能使用。但是我们有时候需要让它内嵌在代码中运行,所以我们可以用一个叫 PhantomJS 的工具代替真实的浏览器。

可以从 PyPI 网站下载 Selenium库https://pypi.python.org/simple/selenium , 也可以用第三方管理器 pip用命令安装:pip install selenium

Selenium 官方参考文档:http://selenium-python.readthedocs.io/index.html

Selenium也分为有界面浏览器和无界面浏览器
快速入门

火狐驱动下载路径(GeckoDriver):https://gethub.com/mozilla/geckodriver/releases

chromedriver下载地址: http://chromedriver.storage.googleapis.com/index.html (2.3.8是最新的,下载的驱动版本一定要支持你当前的浏览器版本)

Selenium 库里有个叫 WebDriver 的 API。WebDriver 有点儿像可以加载网站的浏览器,但是它也可以像 BeautifulSoup 或者其他 Selector 对象一样用来查找页面元素,与页面上的元素进行交互 (发送文本、点击等),以及执行其他动作来运行网络爬虫。

注意: 我们使用的有界面浏览器,它虽然方便我们观察,但是在实际运用中是非常消耗性能的 我们也可以使用Chrome的无界面浏览器,除了没有浏览器界面以外,其它的相关操作都与有界面浏览器相同

# 使用selenium来加载动态网页
# 首先要安装selenium:pip3 install selinium
# selinium自身不带浏览器驱动,我们要自己下载驱动

from selenium import webdriver
import time
#设置无头浏览器
# options = webdriver.ChromeOptions()
# options.set_headless()

#创建一个浏览器的驱动
# driver = webdriver.Chrome(
#     executable_path='/home/ljh/桌面/tool/chromedriver',
#     options=options
#     )

driver = webdriver.Chrome(
    executable_path='/home/ljh/桌面/tool/chromedriver',
    )

driver.get('http://www.baidu.com')

#保存屏幕的截图
# driver.save_screenshot('baidu.png')

#找到百度的输入框
# driver.find_element_by_id('kw').send_keys('美男子')
# #找到按钮,模拟点击
# driver.find_element_by_id('su').click()

# time.sleep(2)
#隐式等待
driver.implicitly_wait(5)

#添加显式等待
#设置循环等待
from selenium.webdriver.support.ui import WebDriverWait
#条件(根据条件寻找对应的节点)
from selenium.webdriver.support import expected_conditions as EC

driver_wait = WebDriverWait(driver,20)

driver_wait.until(
    # EC.element_to_be_selected(driver.find_element_by_id(''))
    EC.presence_of_element_located((By.ID, "myDynamicElement"))
)

# #通过连接的文本找对应的标签
# driver.find_element_by_link_text('下一页>').click()
# driver.find_element_by_class_name('n').click()

# time.sleep(5)

# #返回前页面
# driver.back()

# time.sleep(5)

# #前一页
# driver.forward()

# #关闭当前界面
# driver.close()

#通过page_source直接能够拿到经过浏览器渲染之后的页面数据
#print(driver.page_source)

# print(driver.get_cookies)

# 获取cookies值
# cookies = driver.get_cookies()

# for cookie in cookies:
#     print(cookie['name']+':'+cookie['value'])

# 拖拽和点击操作
from selenium.webdriver import ActionChains

element = driver.find_element_by_xpath('//div[@id="u1"]/a[1]')

#将鼠标移动到指定的节点
# ActionChains(driver).move_to_element(element).perform()
#将鼠标移动到指定的节点并且点击该节点(单击)
ActionChains(driver).move_to_element(element).click(element).perform()
#将鼠标移动到指定的节点并且点击该节点(双击击)
ActionChains(driver).move_to_element(element).double_click(element).perform()

##### 在 ac 位置右击
ActionChains(driver).move_to_element(action).context_click(action).perform()
##### 在 ac 位置左键单击hold住
ActionChains(driver).move_to_element(action).click_and_hold(action).perform()
##### 将 ac1 拖拽到 ac2 位置
ac1 = driver.find_element_by_id("su")
ac2 = driver.find_element_by_class_name('mnav')
ActionChains(driver).drag_and_drop(ac1,ac2).perform()

time.sleep(20)


# #退出浏览器
driver.quit()

#selenium的异常处理
from selenium.common.exceptions import TimeoutException,NoSuchElementException

#请求超时,异常处理
try:
    driver.get('https://github.com/')
except TimeoutError as err:
    print(err)

#找不到节点的异常处理
try:
    driver.find_element_by_id('sbcks')
except NoSuchElementException as err:
    print(err)


selenium的浏览器驱动也可以执行js语句
#####执行JS语句
js = "document.body.scrollTop=10000"
driver.execute_script(js)



刷csdn浏览量:

#首席那安装selinium
from selenium import webdriver
import time
from lxml import etree
import json
#添加显示等待
from selenium.webdriver.support.ui import WebDriverWait
#根据条件寻找对应节点
from selenium.webdriver.support import expected_conditions as EC


#设置无头浏览器
# options=webdriver.ChromeOptions()
# options.set_headless()
#创建浏览器驱动
while True:
    driver = webdriver.Chrome(
        executable_path='/home/lbc/Documents/chromedriver',
        )
        # options=options 
    driver.get('http://www.baidu.com')
    #获取cookie
    cookies = driver.get_cookies()

    cookie_dict = {}
    for cookie in cookies:
        cookie_dict[cookie['name']] = cookie['value']
    # print(cookie_dict)

    #显示等待
    # driver_wait= WebDriverWait(driver,20)
    # driver_wait.until(
        
    # )
    # driver.save_screenshot('baidu.png')
    driver.find_element_by_id('kw').send_keys('小钢蛋')
    #隐式等待
    # driver.implicitly_wait(3)

    driver.find_element_by_id('su').click()
    # driver.find_element_by_xpath('//h3[@class="t"]/a').click()('//div[@id="u1"]/a[1]')
    time.sleep(3)
    # driver.find_element_by_link_text('下一页>').click()
    # time.sleep(3)
    #导入鼠标移入
    from selenium.webdriver import ActionChains
    #用xpath解析并拖拽鼠标进行点击
    element = driver.find_element_by_xpath('//h3[@class="t"]/a[1]')
    #将鼠标移动到指定的节点
    ActionChains(driver).move_to_element(element).perform()
    #将鼠标移动到指定的节点并且点击该节点(单击)
    ActionChains(driver).move_to_element(element).click(element).perform()

    #返回前页面
    # driver.back()
    time.sleep(10)
    driver.quit()

    # driver.forward()

github登录

#首席那安装selinium
from selenium import webdriver
import time
from lxml import etree
import json
#添加显示等待
from selenium.webdriver.support.ui import WebDriverWait
#根据条件寻找对应节点
from selenium.webdriver.support import expected_conditions as EC


#设置无头浏览器
# options=webdriver.ChromeOptions()
# options.set_headless()
#创建浏览器驱动

driver = webdriver.Chrome(
    executable_path='/home/lbc/Documents/chromedriver',
    )
    # options=options 
driver.get('https://github.com/login')
#获取cookie
cookies = driver.get_cookies()

cookie_dict = {}
for cookie in cookies:
    cookie_dict[cookie['name']] = cookie['value']
# print(cookie_dict)

#显示等待
# driver_wait= WebDriverWait(driver,20)
# driver_wait.until(
    
# )
# driver.save_screenshot('baidu.png')
driver.find_element_by_id('login_field').send_keys('10000000@qq.com')
#隐式等待
driver.find_element_by_id('password').send_keys('*********')
# driver.implicitly_wait(3)

driver.find_element_by_css_selector('.btn.btn-primary.btn-block').click()

html = driver.page_source
with open("liubo.html","w+") as f:
    f.write(html)
# driver.find_element_by_xpath('//h3[@class="t"]/a').click()('//div[@id="u1"]/a[1]')
# time.sleep(3)
# driver.find_element_by_link_text('下一页>').click()
# time.sleep(3)
#导入鼠标移入
# from selenium.webdriver import ActionChains
# #用xpath解析并拖拽鼠标进行点击
# element = driver.find_element_by_xpath('//h3[@class="t"]/a[1]')
# #将鼠标移动到指定的节点
# ActionChains(driver).move_to_element(element).perform()
# #将鼠标移动到指定的节点并且点击该节点(单击)
# ActionChains(driver).move_to_element(element).click(element).perform()

#返回前页面
# driver.back()
time.sleep(10)
driver.quit()

# driver.forward()


  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
易语言是一种简单易学的编程语言,它可以帮助用户快速开发应用程序。如果想要App浏览,可以利用易语言的一些功能和特点来实现。 首先,可以使用易语言的网络功能来增加App的曝光率。通过编写代码,可以让App在各大应用商店或网站中进行自动的推广和发布,让更多的人注意到该App的存在。此外,还可以编写程序来监控App的搜索排名,针对排名下降的情况,采取一些措施来提高App的曝光度。 其次,可以使用易语言的自动化运行功能来提高App的浏览。可以编写脚本,实现自动化操作,例如自动点击、滑动、登录等,以增加用户对App的重复浏览使用。此外,还可以利用易语言的定时任务功能,设置每天、每周或每月定时运行App,以确保用户持续访问和使用。 此外,易语言还提供了丰富的界面设计功能,可以利用这些功能来改善App的用户体验,吸引更多的用户使用。可以设计精美的界面、增加交互元素、提供实用的功能等,以增加用户的趣味性和便利性,进而提高浏览。 最后,可以利用易语言的数据处理功能来优化App的内容。可以通过数据分析,了解用户的喜好和需求,并根据这些数据进行优化和改进。通过提供用户感兴趣的内容,可以吸引更多的用户访问和浏览。 总之,利用易语言的网络功能、自动化运行功能、界面设计功能和数据处理功能,可以帮助提高App的浏览。当然,除了利用技术手段,还需要注重App的质和内容,才能吸引更多的用户。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值