栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用python中的Selenium Webdriver下载在embed标签中具有stream-url是chrome扩展名的文件

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用python中的Selenium Webdriver下载在embed标签中具有stream-url是chrome扩展名的文件

在Firefox页面中用于

<object data="...">
显示带有扫描的PDF。“上传的文档”部分中有按钮,以显示其他扫描。

这段代码使用这些按钮来显示扫描,从中获取数据

<object>
并保存在文件
document-0.pdf
document-1.pdf
,等等。

我使用的是您在上一个问题的答案中看到的相同代码:
在python中使用Selenium
Webdriver保存pdf

from selenium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.support.ui import WebDriverWaitfrom selenium.webdriver.support import expected_conditions as ECfrom selenium.webdriver.common.keys import Keysimport timeurl = 'https://maharerait.mahaonline.gov.in'#chrome_path = r'C:/Users/User/AppData/Local/Programs/Python/Python36/scripts/chromedriver.exe'#driver = webdriver.Chrome(executable_path=chrome_path)driver = webdriver.Firefox()driver.get(url)WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH,"//div[@]//a[contains(.,'Search Project Details')]"))).click()registered_project_radio = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.ID,"Promoter")))driver.execute_script("arguments[0].click();", registered_project_radio)application = driver.find_element_by_id("CertiNo")application.send_keys("P50500000005")search = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.ID,"btnSearch")))driver.execute_script("arguments[0].click();", search)time.sleep(5)View = [item.get_attribute('href')         for item in driver.find_elements_by_tag_name("a")          if item.get_attribute('href') is not None]# if there is list then get first elementif View:    View = View[0]#-----------------------------------------------------------------------------# load page    driver.get(View)# find buttons in section `Uploaded documents`buttons = driver.find_elements_by_xpath('//div[@id="Divdocument"]//button')# work with all buttons for i, button in enumerate(buttons):    # click button    button.click()    # wait till page display scan    print('wait for object:', i)    search = WebDriverWait(driver, 10).until(EC.visibility_of_element_located((By.TAG_NAME, "object")))    # get data from object        print('get data:', i)        import base64    obj = driver.find_element_by_tag_name('object')    data = obj.get_attribute('data')    text = data.split(',')[1]    bytes = base64.b64depre(text)    # save scan in next PDF         print('save: document-{}.pdf'.format(i))        with open('document-{}.pdf'.format(i), 'wb') as fp:        fp.write(bytes)    # close scan print('close document:', i)        driver.find_element_by_xpath('//button[text()="Close"]').click()# --- end ---driver.close()


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/646039.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号