python selenium_Python selenium 使用

1. headless模式初始化

chrome_options = webdriver.ChromeOptions()

chrome_options.add_argument('--headless')

browser = webdriver.Chrome(chrome_options=chrome_options)

wait = WebDriverWait(browser, 10)

2.打开一个URL

url = 'https://s.taobao.com/search?q=IPad'

browser.get(url)

3. 等待直到什么元素可见或者可以点击

input = wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, '#mainsrp-pager div.form > input')))

submit = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, '#mainsrp-pager div.form > span.btn.J_Submit')))

wait.until(EC.text_to_be_present_in_element((By.CSS_SELECTOR, '#mainsrp-pager li.item.active > span'), str(page)))

4.输入框输入文字

input.clear()

input.send_keys(page)

5. 按钮点击

submit.click()

6.得到html源码

html = browser.page_source

7.截图,裁剪

screenshot = self.browser.get_screenshot_as_png()

screenshot = Image.open(BytesIO(screenshot))

captcha = screenshot.crop((left, top, right, bottom - PADDING_BOT))

captcha.save(name)

8.元素位置大小

img = self.wait.until(EC.presence_of_element_located((By.CLASS_NAME, 'dx_captcha_basic_bg')))

location = img.location

size = img.size

top, bottom, left, right = location['y'] , location['y'] + size['height'], location['x'], location['x'] + size['width']

9. 按住移动距离

ActionChains(self.browser).click_and_hold(slider).perform()

for x in track:

ActionChains(self.browser).move_by_offset(xoffset=x, yoffset=0).perform()

time.sleep(0.5)

ActionChains(self.browser).release().perform()

10 拖动

browser =webdriver.Chrome()

browser.get('http://www.runoob.com/try/try.php?filename=jqueryui-api-droppable')

browser.switch_to.frame('iframeResult') # id = 'iframeResult'

source = browser.find_element_by_css_selector('#draggable') # 被拖拽的对象

target = browser.find_element_by_css_selector('#droppable') # 目标对象

actions = ActionChains(browser)

actions.drag_and_drop(source, target)

actions.perform()

11 得到cookie

cookies = driver.get_cookies()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值