python selenium下载优缺点_Python selenium下载文件

我想在Python中使用selenium来自动化下载过程。但目前的问题是,我实际上可以使用xpath访问正确的url(pdf文件所在的位置),但是由于OS的拨号框,我无法下载这些文件。我找到了一些建议使用webdriver.FirefoxProfile().set.preference的解决方案。但是,由于我需要使用selenium多次单击该网站以到达正确的页面,因此无法在程序开始时直接使用set.preference设置url。你能帮我把set.preference集成到我现有的程序中吗?非常感谢你!!在

如你所见,网站需要认证。在

以下是我当前的代码:from selenium import webdriver

from selenium.webdriver.support.ui import WebDriverWait

import unittest

import os

class LoginTest(unittest.TestCase):

def setUp(self):

self.driver=webdriver.Firefox()

self.driver.get("myinitialurl")

def test_Login(self):

driver=self.driver

emailFieldID="userNameInput"

passFieldID="passwordInput"

loginButtonID="submitButton"

BBButton="(//a[contains(@href,'blackboard')])"

coursebutton="(//a[contains(@href,'Course&id=_4572_1&url')])[1]"

docbutton="(//a[contains(@href,'content_id=_29867_1')])"

conbutton="(//a[contains(@href,'content_id=_29873_1')])"

paperbutton="(//a[contains(@href,'/xid-26243_1')])"

emailFieldElement=WebDriverWait(driver,10).until(lambda driver:driver.find_element_by_id(emailFieldID))

passFieldElement=WebDriverWait(driver,10).until(lambda driver:driver.find_element_by_id(passFieldID))

loginButtonElement=WebDriverWait(driver,10).until(lambda driver:driver.find_element_by_id(loginButtonID))

emailFieldElement.clear()

emailFieldElement.send_keys("username")

passFieldElement.clear()

passFieldElement.send_keys("password")

loginButtonElement.click()

BBElement=WebDriverWait(driver,50).until(lambda driver:driver.find_element_by_xpath(BBButton))

BBElement.click()

WebDriverWait(driver, 50).until(lambda driver: len(driver.window_handles) == 2)

window_after = driver.window_handles[1]

driver.switch_to.window(window_after)

courseElement=WebDriverWait(driver,50).until(lambda driver:driver.find_element_by_xpath(coursebutton))

courseElement.click()

之后,通常我应该打开一个pdf文件在网站和拨号箱。我想下载这个文件。在

代码设置首选项我发现如下:

^{pr2}$

所以我的问题是如何将第二部分集成到第一个代码中,以便下载最后一次单击所触发的内容。在

否则,你有其他更简单的解决方案吗??在

非常感谢!在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值