0
点赞
收藏
分享

微信扫一扫

selenium学习

炽凤亮尧 2022-01-31 阅读 79
selenium 初试
from selenium import webdriver
from time import sleep
from lxml import etree
#新建一个类
bro = webdriver.Chrome()
#发起请求
bro.get('https://www.taobao.com/')
#获取页面源码数据
page_text = bro.page_source
#解析数据
tree = etree.HTML(page_text)

bro.quit()
selenium 例子
from selenium import webdriver
import time
#实例化一个浏览器对象
bro = webdriver.Chrome()
#发起一个url请求
bro.get('https://www.taobao.com/')
#标签定位  标签交互
bro.find_element_by_id('q').send_keys('python')
#执行一组js代码
bro.execute_script('window.scrollTo(0,document.body.scrollHeight')
#点击搜索按钮
btn = bro.find_element_by_xpath('/html/body/div[2]/div/div/div[2]/div/div[1]/div[2]/form/div[1]/button')
btn.click()
time.sleep(2)
#前进 后退 back(),forward()
#关闭浏览器
bro.quit()
selenium 动作链
from selenium import webdriver
from selenium.webdriver import ActionChains

import time
#实例化一个浏览器对象
bro = webdriver.Chrome()
#发起一个url请求
bro.get('url')
#如果定位的标签是存在于iframe标签之中则需要通过一下操作在进行标签定位
bro.switch_to.frame('iframeResult')#切换浏览器标签定位的作用域
div = bro.find_element_by_id('draggable')
#动作链
action = ActionChains()#新建一个动作练的类
#点击长按指标标签
action.click_and_hold(div)
for i in range(5):
     #perform()立即执行动作练
    action.move_by_offset(17,0).perform()
     
#释放动作链
action.release()

bro.quit()
selenium iframe
from selenium import webdriver
from time import sleep
from lxml import etree
from selenium.webdriver import ActionChains
#新建一个类
bro = webdriver.Chrome()
#发起请求
bro.get('https://www.taobao.com/')
# 如果定位的标签是存在于iframe标签之中的则必须通过如下操作进行标签定位
bro.switch_to.frame('iframeResult')
div = bro.find_element_by_id('draggable')
#动作链
action = ActionChains(bro)
# 点击和长按指定的标签
action.click_and_hold(div)
for i in range(5):
     #perform 立即执行动作链操作 注意传入两个参数
     action.move_by_offset(17,0).perform()
     sleep(0.3)

#释放动作链
action.release()
bro.quit()
selenium 无可视化界面 规避检测
from selenium import webdriver
from time import sleep
#实现无可视化界面的
from selenium.webdriver.chrome.options import Options
#实现规避检测的
from selenium.webdriver import ChromeOptions


#无可视化界面
chrome_options = Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-gpu')
#规避检测
option = ChromeOptions()
option.add_experimental_option('excludeSwitches',['enable-automation'])

#新建一个类
bro = webdriver.Chrome(chrome_options=chrome_options,options=option)

#发起请求
bro.get('https://www.taobao.com/')
print(bro.page_source)
sleep(3)

bro.quit()
举报

相关推荐

0 条评论