示例#1
0
class BdEssSpider(scrapy.Spider):
    name = 'bd_ess'
    allowed_domains = ['https://ess.10010.com/essframe']
    start_urls = ['http://*****:*****@"
    province_code = "bj"
    depart_id = "11b2kv5"
    province_id = "11"
    driver = webdriver.Ie(driver_path)
    js_exec = "var but_click=document.getElementsByClassName('submit')[0].children[0].onclick"

    def __init__(self, broadbandNo, startNo, endNo):
        self.broadbandNo = broadbandNo
        self.startNo = startNo
        self.endNo = endNo
        self.cur_month = self.date_Formate(datetime.datetime.now().month)
        self.cur_day = self.date_Formate(datetime.datetime.now().day)
        self.crawldate = str(datetime.datetime.now().year) + str(
            self.cur_month) + str(self.cur_day)
        self.params = ''
        pass

    # 将月份、日期小于10的前面补充0
    def date_Formate(self, object):
        if (object < 10):
            object = "0" + str(object)
        return object

    def start_requests(self):
        logging.warning("=========start_requests===========")
        yield scrapy.Request(self.login_url, callback=self.login)

    def login(self, response):
        self.driver.get(self.login_url)
        time.sleep(3)
        self.driver.find_element_by_id("STAFF_ID").send_keys(self.userName)
        self.driver.find_element_by_id("LOGIN_PASSWORD").send_keys(self.passWd)
        Select(self.driver.find_element_by_name(
            "LOGIN_PROVINCE_CODE")).select_by_value(self.province_id)
        WebDriverWait(self.driver, 1000).until(EC.url_to_be(self.initmy_url))
        logging.warning("恭喜您,您已登录成功了!")
        WebDriverWait(self.driver, 600).until(
            EC.presence_of_element_located((By.ID, 'navframe')))
        self.driver.switch_to.frame("navframe")
        # time.sleep(30)
        WebDriverWait(self.driver, 600).until(
            EC.presence_of_element_located(
                (By.ID, 'SECOND_MENU_LINK_BIL6500')))
        # in order to find CSM1001
        js_query_acct = "var query_acct=document.getElementById('SECOND_MENU_LINK_BIL6500').onclick()"
        self.driver.execute_script(js_query_acct)
        time.sleep(3)
        WebDriverWait(self.driver, 600).until(
            EC.presence_of_element_located((By.ID, 'BIL6531')))
        openmenu = self.driver.find_element_by_id("BIL6531").get_attribute(
            "onclick")
        r = re.findall(r"'([\S\s]+?)'", openmenu)
        request_url = "https://" + self.province_code + ".cbss.10010.com" + r[
            0] + "&staffId=" + self.userName + "&departId=" + self.depart_id + "&subSysCode=CBS&eparchyCode=0010"
        requests.adapters.DEFAULT_RETRIES = 5
        s = requests.session()
        cookies_dict = {}
        cookies = self.driver.get_cookies()
        for cookie in cookies:
            cookies_dict[cookie['name']] = cookie['value']
        with open('cookies.txt', 'w+') as f:
            json.dump(cookies_dict, f)
        with open('cookies.txt', 'r') as f:
            cookie_out = json.load(f)
        headers = {
            'Referer':
            'https://bj.cbss.10010.com/essframe?service=page/Sidebar',
            'Host':
            'bj.cbss.10010.com',
            'User-Agent':
            'Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko'
        }
        yield scrapy.Request(request_url,
                             headers=headers,
                             cookies=cookie_out,
                             callback=self.parse_broadbandNo,
                             meta={'request_url': request_url})

    def query_user_info(self, response):
        Cookie = response.request.headers.getlist('Cookie')
        response_str = response.body.decode("gbk")
        refer_url = response.meta['userinfo_request_url']
        # time.sleep(3)
        html = etree.HTML(response_str)
        DateField = ""
        _BoInfo = html.xpath('//input[@name="_BoInfo"]/@value')[0]
        ACCPROVICE_ID = html.xpath('//input[@name="ACCPROVICE_ID"]/@value')[0]
        allInfo = html.xpath('//input[@name="allInfo"]/@value')[0]
        broadbandNo = response.meta['broadbandNo']
        currentRightCode = html.xpath(
            '//input[@name="currentRightCode"]/@value')[0]
        Form0 = html.xpath('//input[@name="Form0"]/@value')[0]
        PROVICE_ID = html.xpath('//input[@name="PROVICE_ID"]/@value')[0]
        queryTradehide = html.xpath(
            '//input[@name="queryTradehide"]/@value')[0]
        service = html.xpath('//input[@name="service"]/@value')[0]
        tabSetList = html.xpath('//input[@name="tabSetList"]/@value')[0]
        headers = {
            # "Referer": "https://bj.cbss.10010.com/essframe?service=page/Sidebar,
            # "Referer": "https://bj.cbss.10010.com/custserv",
            "Referer": refer_url,
            'User-Agent':
            'Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko',
            'Host': 'bj.cbss.10010.com'
        }
        cookies = self.get_cookie()
        # del cookies["BSS_CUSTSERV_JSESSIONID"]
        # del cookies["BSS_ACCTMANM_JSESSIONID"]
        # json.dumps(cookies)
        dataForm = self.custserv_dataForm(DateField, _BoInfo, ACCPROVICE_ID,
                                          allInfo, broadbandNo, ACCPROVICE_ID,
                                          currentRightCode, Form0, PROVICE_ID,
                                          queryTradehide, service, tabSetList)
        post_intetrated_url = "https://bj.cbss.10010.com/custserv"
        yield scrapy.FormRequest(url=post_intetrated_url,
                                 formdata=dataForm,
                                 method="POST",
                                 headers=headers,
                                 cookies=cookies,
                                 callback=self.get_user_property__info,
                                 meta={'broadbandNo': broadbandNo},
                                 dont_filter=True)
示例#2
0
from selenium import webdriver

link = "http://suninjuly.github.io/simple_form_find_task.html"
browser = webdriver.Ie()
browser.get(link)

input1 = browser.find_element_by_name('first_name')
input1.send_keys("Ivan")
input2 = browser.find_element_by_name('last_name')
input2.send_keys("Petrov")
input3 = browser.find_element_by_class_name('city')
input3.send_keys("Smolensk")
input4 = browser.find_element_by_id('country')
input4.send_keys("Russia")
button = browser.find_element_by_css_selector(".btn.btn-default")
button.click()

示例#3
0
project_directory = os.getcwd()

# Creating a dictionary with parameters from test_config.json
with open('test_assets{}test_config.json'.format(slash), 'r') as lines:
    obj = json.load(lines)

# Retrieving browser name
browser = obj['browser'].lower()

# Launching requested browser
if browser == 'firefox':
    driver = webdriver.Firefox()
elif browser == 'chrome':
    driver = webdriver.Chrome()
elif browser == 'ie' or browser == 'internet explorer':
    driver = webdriver.Ie()
elif browser == 'edge':
    driver = webdriver.Edge()
elif browser == 'safari' and sys == 'darwin':
    driver = webdriver.Safari()
elif browser == 'phantom':
    if sys == 'windows':
        driver = webdriver.PhantomJS('C:\\phantomjs.exe')  # CHANGE - TODO
    else:
        driver = webdriver.PhantomJS()
else:
    driver = webdriver.Chrome()  # Default to Chrome
    print('Browser error.')

# Maximize automation window
driver.maximize_window()
示例#4
0
def run_with_IE():
    common_step(webdriver.Ie())
示例#5
0
        def callback():
            search = entryBox.get()
            passwordBox = pswdBox.get()

            ## ClearTran Page Behaviour
            ie_driver = webdriver.Ie("<PATH>")
            #ie_driver = webdriver.Ie(<PATH>)

            # Minimize IEDriverServer.exe
            #webdriverIe.manage().window().set_window_position(-2000,0)

            ie_driver.get('<PATH>')
            wait = ui.WebDriverWait(ie_driver, 20)

            username_field = ie_driver.find_element_by_id('Username')
            usr = os.getlogin()
            username_field.send_keys(usr)
            password_field = ie_driver.find_element_by_id('Password')
            password_field.send_keys(passwordBox)
            password_field.send_keys(Keys.RETURN)

            wait = ui.WebDriverWait(ie_driver, 10)

            time.sleep(2)
            maint = ie_driver.find_element_by_id("Menubar_tdMaint").click()
            time.sleep(3)
            users = ie_driver.find_element_by_xpath(
                "//*[@id='_ctl5_tblMaintenance']/tbody/tr/td/a[2]").click()

            # Paste in searchfield
            time.sleep(3)
            findUser = ie_driver.find_element_by_id("user_txtUserName")
            findUser.send_keys(search)
            submit = ie_driver.find_element_by_id("user_btnFindUser").click()
            time.sleep(1)
            # Found user
            usrName = ie_driver.find_element_by_xpath(
                "//*[@id='user_grdUsers']/tbody/tr[2]/td[1]/a").click()

            # CHANGE PASSWORD
            changePswd = ie_driver.find_element_by_xpath(
                "//*[@id='user_txtPassword']")

            # SELECT ALL, for current password and delete
            changePswd.send_keys(Keys.CONTROL, 'a')
            changePswd.send_keys(Keys.DELETE)
            changePswd.send_keys("Password1")

            confirmPswd = ie_driver.find_element_by_xpath(
                "//*[@id='user_txtPasswordConfirm']")
            confirmPswd.send_keys(Keys.CONTROL, 'a')
            confirmPswd.send_keys(Keys.DELETE)
            confirmPswd.send_keys("Password1")

            # CHECK LOCK-OUT STATE
            # http://stackoverflow.com/questions/14442636/how-can-i-check-if-a-checkbox-is-checked-in-selenium-python-webdriver
            locked_out = ie_driver.find_element_by_xpath(
                "//*[@id='user_chkIsLocked']")
            if locked_out.is_selected():
                # If selected, uncheck the check box
                locked_out.click()
                update = ie_driver.find_element_by_xpath(
                    "//*[@id='user_btnupdate']").click()
            else:
                update = ie_driver.find_element_by_xpath(
                    "//*[@id='user_btnupdate']").click()

            #update = ie_driver.find_element_by_xpath("//*[@id='user_btnupdate']").click()

            # CREATE A POPUP STATING PASSWORD WAS CHANGED
            messagebox.showinfo(
                title="Password Changed",
                message='Password has been changed to:\n\tPassword1')

            # Sign out of ClearTran
            signOff = ie_driver.find_element_by_xpath(
                "//*[@id='Menubar_btnLogoff']").click()
            time.sleep(3)
            ie_driver.close()

            PROCNAME = "IEDriverServer.exe"
            for proc in psutil.process_iter():
                if proc.name() == PROCNAME:
                    proc.kill()
 def setUp(self):
     self.driver = webdriver.Ie(executable_path="e:\\IEDriverServer")
示例#7
0
@time: 2019-07-09 15:01
---------------------------------------
"""
import time
from selenium import webdriver
from pymouse import PyMouse
from spiders.dd_keybored import DDKeyborad



from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
DesiredCapabilities.INTERNETEXPLORER['ignoreProtectedModeSettings'] = True


# 初始化driver
driver=webdriver.Ie(executable_path="C:\\work\\ie\\32\\IEDriverServer.exe")
driver.maximize_window()
# 初始化mouse
m = PyMouse()
# 初始化键盘
dd = DDKeyborad()


# 访问首页
driver.get("https://ipcrs.pbccrc.org.cn/index1.do")
time.sleep(1)
driver.find_element_by_class_name("startBtn").click()
time.sleep(1)

# 过证书验证
confirm=driver.switch_to_alert()
 def DriverCreator():
   ie_driver_exe = support_binaries.FindPath(
       'IEDriverServer_%s' % self._architecture,
       'AMD64',
       'win')
   return webdriver.Ie(executable_path=ie_driver_exe)
示例#9
0
for i in range(len(NoList)):
    NoListin.append(NoList[i].value)
for i in range(len(NameList)):
    NameListin.append(NameList[i].value)
for i in range(len(NameList2)):
    NameList2in.append(NameList2[i].value)
for i in range(len(LAIYUANList)):
    LAIYUANListin.append(LAIYUANList[i].value)
for i in range(len(NameList)):
    LEIXINGListin.append(LEIXINGList[i].value)
for i in range(len(XINGZHIList)):
    XINGZHIListin.append(XINGZHIList[i].value)
for i in range(len(LAOSHIList)):
    LAOSHIListin.append(LAOSHIList[i].value)

driver = webdriver.Ie()  # 创建Chrome对象.
# 操作这个对象.
driver.get('http://xuanke.tongji.edu.cn/tj_login/frame.jsp')  # get方式访问百度.
#driver.get('http://www.baidu.com')     # get方式访问百度.
start = input("inputID = ")

driver.switch_to_frame("detailfrm")
#driver.find_element_by_name("KCMC").send_keys("159")
startno = NoListin.index(int(start))
j = startno
while 1:
    driver.find_element_by_name("KCMC").send_keys(NameListin[j])
    driver.find_element_by_name("jsgh").send_keys(LAOSHIListin[j])
    driver.find_element_by_name("BYSJDD").send_keys("校内")
    driver.find_element_by_name("KTLX").find_elements_by_tag_name(
        "option")[1].click()
示例#10
0
    account_number = rows[3][3]

# Create a new browser Session
# driver = browser

# desired_cap = \
#     {
#     'nativeEvents' : 'False',
#     'pageLoadStrategy' : 'eager'
#     }

cap = DesiredCapabilities.INTERNETEXPLORER.copy()
cap['IE_ENSURE_CLEAN_SESSION'] = True
cap['ENABLE_ELEMENT_CACHE_CLEANUP'] = True

driver = webdriver.Ie(str(CONFIG_PATH / 'IEDriverServer.exe'))

## Select Appropriate URL based on the Environment Value (env)

env = "BICL_UAT"
baseURL = Environments.return_environments(env)
# baseURL = "https://beta.bi.dev.wedbush.com"

driver.get(baseURL)
driver.maximize_window()

# This section closes extra open window tabs
handles = driver.window_handles
size = len(handles)
parent_handle = driver.current_window_handle
for x in range(size):
示例#11
0
 def setUp(self):
     self.driver = webdriver.Ie(executable_path=r'../../IEDriverServer.exe')
示例#12
0
import time
from selenium import webdriver

browser="chrome"
if browser=="chrome":
    driver=webdriver.Chrome(executable_path="C:/Users/Heggade/PycharmProjects/s_class/drivers/chromedriver.exe")
elif browser=="firefox":
    driver=webdriver.Firefox(executable_path="C:/Users/Heggade/PycharmProjects/s_class/drivers/geckodriver.exe")
elif browser=="ie":
    driver=webdriver.Ie(executable_path="C:/Users/Heggade/PycharmProjects/s_class/drivers/IEDriverServer.exe")
else:
    print("provide appropriate browser name")
driver.get("http://makemytrip.com")
driver.maximize_window()
time.sleep(5)
driver.find_element_by_id("header_tab_hotels").click()
time.sleep(3)
driver.back()
time.sleep(2)
driver.find_element_by_id("header_tab_holidays").click()
time.sleep(3)
driver.forward()
driver.refresh()
示例#13
0
    def _set_driver(self):

        if self.browser == 'opera':

            options = Options()
            options.binary_location = DriverPath.OPERA_BINARY_PATH
            print('\nBinary Path: {}'.format(DriverPath.OPERA_BINARY_PATH))

            try:
                self.driver = webdriver.Opera(options=options)

            except SessionNotCreatedException as e:
                print('\nSessionNotCreatedException:', e.msg)
                raise

            except WebDriverException as e:

                print('\nWebDriverException:', e.msg)
                path = self._get_driver_path()
                print('Trying to look for a \'operadriver\' under:\n{}'.format(path))
                self.driver = webdriver.Opera(options=options, executable_path=path)

        if self.browser == 'chrome':
            try:
                self.driver = webdriver.Chrome()

            except WebDriverException as e:
                print('\nPlease note:', e.msg)
                path = self._get_driver_path()
                print('Trying to look for a \'chromedriver\' under:\n{}'.format(path))
                self.driver = webdriver.Chrome(executable_path=path)

        if self.browser == 'ie':
            try:
                self.driver = webdriver.Ie()

            except WebDriverException as e:
                print('\nPlease note:', e.msg)
                path = self._get_driver_path()
                print('Trying to look for a \'IEDriverServer\' under:\n{}'.format(path))
                self.driver = webdriver.Ie(executable_path=path)

        if self.browser == 'mozilla':
            try:
                self.driver = webdriver.Firefox()
                
            except WebDriverException as e:
                print('\nPlease note:', e.msg)
                path = self._get_driver_path()
                print('Trying to look for a \'geckodriver\' under:\n{}'.format(path))
                self.driver = webdriver.Firefox(executable_path=path)

        if self.browser == 'edge':

            # Purpose:	Probe the underlying platform’s hardware, operating system,
            # and interpreter version information.

            # print('Version tuple:', platform.python_version_tuple())
            # print('Compiler     :', platform.python_compiler())
            # print('Build        :', platform.python_build())
            if sum(int(i) for i in platform.python_version_tuple()) > 13:
                print('\nVersion:', platform.python_version())
                print('WebDriver is now a Feature On Demand')
                print('For more info please check: {}'.format(
                    'https://blogs.windows.com/msedgedev/2018/06/14/'
                    'webdriver-w3c-recommendation-feature-on-demand/#Rg8g2hRfjBQQVRXy.97\n'))
                self.driver = webdriver.Edge()
            else:
                path = self._get_driver_path()
                print('Trying to look for a \'MicrosoftWebDriver\' under:\n{}'.format(path))
                self.driver = webdriver.Edge(executable_path=path)
示例#14
0
def get_local_driver(browser_name, headless, proxy_string, proxy_auth,
                     proxy_user, proxy_pass, user_agent, disable_csp,
                     enable_sync, user_data_dir, extension_zip, extension_dir):
    '''
    Spins up a new web browser and returns the driver.
    Can also be used to spin up additional browsers for the same test.
    '''
    downloads_path = download_helper.get_downloads_folder()
    download_helper.reset_downloads_folder()

    if browser_name == constants.Browser.FIREFOX:
        try:
            try:
                # Use Geckodriver for Firefox if it's on the PATH
                profile = _create_firefox_profile(downloads_path, proxy_string,
                                                  user_agent, disable_csp)
                firefox_capabilities = DesiredCapabilities.FIREFOX.copy()
                firefox_capabilities['marionette'] = True
                options = webdriver.FirefoxOptions()
                if headless:
                    options.add_argument('-headless')
                if LOCAL_GECKODRIVER and os.path.exists(LOCAL_GECKODRIVER):
                    make_driver_executable_if_not(LOCAL_GECKODRIVER)
                elif not is_geckodriver_on_path():
                    if not "".join(sys.argv) == "-c":  # Skip if multithreaded
                        from seleniumbase.console_scripts import sb_install
                        sys_args = sys.argv  # Save a copy of current sys args
                        print("\nWarning: geckodriver not found."
                              " Installing now:")
                        sb_install.main(override="geckodriver")
                        sys.argv = sys_args  # Put back the original sys args
                firefox_driver = webdriver.Firefox(
                    firefox_profile=profile,
                    capabilities=firefox_capabilities,
                    options=options)
            except WebDriverException:
                # Don't use Geckodriver: Only works for old versions of Firefox
                profile = _create_firefox_profile(downloads_path, proxy_string,
                                                  user_agent, disable_csp)
                firefox_capabilities = DesiredCapabilities.FIREFOX.copy()
                firefox_capabilities['marionette'] = False
                firefox_driver = webdriver.Firefox(
                    firefox_profile=profile, capabilities=firefox_capabilities)
            return firefox_driver
        except Exception as e:
            if headless:
                raise Exception(e)
            return webdriver.Firefox()
    elif browser_name == constants.Browser.INTERNET_EXPLORER:
        if not IS_WINDOWS:
            raise Exception(
                "IE Browser is for Windows-based operating systems only!")
        from selenium.webdriver.ie.options import Options
        ie_options = Options()
        ie_options.ignore_protected_mode_settings = False
        ie_options.ignore_zoom_level = True
        ie_options.require_window_focus = False
        ie_options.native_events = True
        ie_options.full_page_screenshot = True
        ie_options.persistent_hover = True
        ie_capabilities = ie_options.to_capabilities()
        if LOCAL_IEDRIVER and os.path.exists(LOCAL_IEDRIVER):
            make_driver_executable_if_not(LOCAL_IEDRIVER)
        return webdriver.Ie(capabilities=ie_capabilities)
    elif browser_name == constants.Browser.EDGE:
        if LOCAL_EDGEDRIVER and os.path.exists(LOCAL_EDGEDRIVER):
            make_driver_executable_if_not(LOCAL_EDGEDRIVER)
            # The new Microsoft Edge browser is based on Chromium
            chrome_options = _set_chrome_options(downloads_path, headless,
                                                 proxy_string, proxy_auth,
                                                 proxy_user, proxy_pass,
                                                 user_agent, disable_csp,
                                                 enable_sync, user_data_dir,
                                                 extension_zip, extension_dir)
            return webdriver.Chrome(executable_path=LOCAL_EDGEDRIVER,
                                    options=chrome_options)
        else:
            return webdriver.Edge()
    elif browser_name == constants.Browser.SAFARI:
        if "".join(sys.argv) == "-c":  # Skip if multithreaded
            raise Exception("Can't run Safari tests in multi-threaded mode!")
        return webdriver.Safari()
    elif browser_name == constants.Browser.OPERA:
        if LOCAL_OPERADRIVER and os.path.exists(LOCAL_OPERADRIVER):
            make_driver_executable_if_not(LOCAL_OPERADRIVER)
        return webdriver.Opera()
    elif browser_name == constants.Browser.PHANTOM_JS:
        with warnings.catch_warnings():
            # Ignore "PhantomJS has been deprecated" UserWarning
            warnings.simplefilter("ignore", category=UserWarning)
            return webdriver.PhantomJS()
    elif browser_name == constants.Browser.GOOGLE_CHROME:
        try:
            chrome_options = _set_chrome_options(downloads_path, headless,
                                                 proxy_string, proxy_auth,
                                                 proxy_user, proxy_pass,
                                                 user_agent, disable_csp,
                                                 enable_sync, user_data_dir,
                                                 extension_zip, extension_dir)
            if LOCAL_CHROMEDRIVER and os.path.exists(LOCAL_CHROMEDRIVER):
                make_driver_executable_if_not(LOCAL_CHROMEDRIVER)
            elif not is_chromedriver_on_path():
                if not "".join(sys.argv) == "-c":  # Skip if multithreaded
                    from seleniumbase.console_scripts import sb_install
                    sys_args = sys.argv  # Save a copy of current sys args
                    print("\nWarning: chromedriver not found. Installing now:")
                    sb_install.main(override="chromedriver")
                    sys.argv = sys_args  # Put back the original sys args
            return webdriver.Chrome(options=chrome_options)
        except Exception as e:
            if headless:
                raise Exception(e)
            if LOCAL_CHROMEDRIVER and os.path.exists(LOCAL_CHROMEDRIVER):
                make_driver_executable_if_not(LOCAL_CHROMEDRIVER)
            return webdriver.Chrome()
    else:
        raise Exception("%s is not a valid browser option for this system!" %
                        browser_name)
示例#15
0
xlsx_file = sys.argv[1]
workbook = load_workbook(filename=xlsx_file)
sheet = workbook.active
windchill_url = ""

cap = DesiredCapabilities().INTERNETEXPLORER
cap['ignoreProtectedModeSettings'] = True
cap['IntroduceInstabilityByIgnoringProtectedModeSettings'] = True
cap['nativeEvents'] = True
cap['ignoreZoomSetting'] = True
cap['requireWindowFocus'] = True
cap['INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS'] = True

browser = webdriver.Ie(
    capabilities=cap,
    executable_path=r'D:\WinPython\python\IEDriverServer.exe')
browser.set_page_load_timeout(5)
browser.get(windchill_url)
input("login and press [Enter] to continue...")
main_window = browser.current_window_handle
wait_5_sec = WebDriverWait(browser, 5)
MSG_MISSING_NR = "NUMBER NOT FOUND"
MSG_MISSING_ALT_NR = "ALT NUMBER NOT FOUND"


def find_part(part_number):
    browser.get(windchill_url)
    find_field = wait_5_sec.until(
        EC.presence_of_element_located((By.ID, "gloabalSearchField")))
    find_field.clear()
示例#16
0
         print("Environment Set up through Excel File")
         print("For "+OS+" Operating System , Intializing "+browser+" .......")
         driver = webdriver.Chrome(executable_path="DriverConfig\Windows\chromedriver.exe", )
     elif(OS == 'Mac'):
         print("Environment Set up through Excel File")
         print("Intializing "+browser+" browser for OS "+OS+" through Excel")
         driver = webdriver.Chrome(executable_path="DriverConfig\Mac\chromedriver")
     elif(OS == 'Linux'):
         print("Environment Set up through Excel File")
         print("Intializing "+browser+" browser for OS "+OS+" through Excel")
         driver = webdriver.Chrome(executable_path="DriverConfig\Linux\chromedriver")
 if(browser == 'IE'):
     if(OS == 'Windows'):
         print("Environment Set up through Excel File")
         print("Intializing "+browser+" browser for OS "+OS+" through Excel")
         driver = webdriver.Ie(executable_path="DriverConfig\Windows\IEDriverServer.exe")
     elif(OS == 'Mac'):
         print("Environment Set up through Excel File")
         print("Intializing "+browser+" browser for OS "+OS+" through Excel")
         driver = webdriver.Ie(executable_path="DriverConfig\Mac\IEDriverServer")
     elif(OS == 'Linux'):
         print("Environment Set up through Excel File")
         print("Intializing "+browser+" browser for OS "+OS+" through Excel")
         driver = webdriver.Ie(executable_path="DriverConfig\Linux\IEDriverServer")
 if(browser == 'Firefox'):
     if(OS == 'Windows'):
         print("Environment Set up through Excel File")
         print("Intializing "+browser+" browser for OS "+OS+" through Excel")
         driver = webdriver.Ie(executable_path="DriverConfig\Windows\IEDriverServer.exe")
     elif(OS == 'Mac'):
         print("Environment Set up through Excel File")
示例#17
0
from selenium import webdriver
import time

# every browser exposes an executable file, thought selenium
# we ned to invoke exe file such as chrome.
# driver = webdriver.Chrome(executable_path="C:\\chromedriver.exe")

# driver = webdriver.Firefox(executable_path="C:\\geckodriver.exe")

driver = webdriver.Ie(executable_path="C:\\IEDriverServer.exe")

driver.maximize_window()
driver.implicitly_wait(10)

# this is allow to land inside the webapage that you need to access
driver.get("https://rahulshettyacademy.com")

# get the website title if we inside or not
print(driver.title)
print(driver.current_url)
driver.get("https://rahulshettyacademy.com/AutomationPractice/")
print(driver.current_url)
time.sleep(5)
driver.back()
driver.refresh()

# driver close all browser
time.sleep(3)
driver.close()
示例#18
0
def getIeHandler():
    browser = webdriver.Ie()
    return browser
示例#19
0
            ChromeDriverManager().install(),
            options=opts,
        ),
        supported.chromium:
        lambda opts: webdriver.Chrome(
            ChromeDriverManager(chrome_type=ChromeType.CHROMIUM).install(),
            options=opts,
        ),
        supported.firefox:
        lambda opts: webdriver.Firefox(
            executable_path=GeckoDriverManager().install(),
            options=opts,
        ),
        supported.ie:
        lambda opts: webdriver.Ie(
            IEDriverManager().install(),
            options=opts,
        ),
        supported.edge:
        lambda ____: webdriver.Edge(EdgeChromiumDriverManager().install(), ),
        supported.opera:
        lambda opts: webdriver.Opera(
            executable_path=OperaDriverManager().install(),
            options=opts,
        ),
    }


def local(
    name: supported.
    BrowserName = 'chrome',  # todo: consider change default to ... and then get it from options if passed
    options: WebDriverOptions = None
示例#20
0
 def test(self):
     driverLocation = "path to IEDriverServer.exe"
     os.environ["webdriver.ie.driver"] = driverLocation
     driver = webdriver.Ie(driverLocation)
     driver.get("http://www.letskodeit.com")
示例#21
0
 def setUp(self):
     # 启动IE浏览器
     # self.driver = webdriver.Firefox(executable_path = "e:\\geckodriver")
     self.driver = webdriver.Ie(executable_path="e:\\IEDriverServer")
示例#22
0
文件: driver.py 项目: JiangQiuxia/jqx
def ie_Ie():
    driver = webdriver.Ie()
    driver.maximize_window()
    return driver
def setup_module(module):
    webserver = SimpleWebServer()
    webserver.start()
    IeSelectElementHandlingTests.webserver = webserver
    IeSelectElementHandlingTests.driver = webdriver.Ie()
示例#24
0
import os
import time
from selenium import webdriver
from selenium.webdriver.common.by import By

URL = "http://www.baidu.com"
base_path = os.path.dirname(os.path.abspath(__file__)) + '\..\..'
driver_path = os.path.abspath(base_path+'\drivers\IEDriverServer.exe')

locator_kw = (By.ID, 'kw')
locator_su = (By.ID, 'su')
locator_result = (By.XPATH, '//div[contains(@class, "result")]/h3/a')

driver = webdriver.Ie(executable_path=driver_path)
driver.get(URL)
driver.find_element(*locator_kw).send_keys('selenium 灰蓝')
driver.find_element(*locator_su).click()
time.sleep(2)
links = driver.find_elements(*locator_result)
for link in links:
    print(link.text)
time.sleep(3)
driver.quit()
示例#25
0
        def callback():
            defaultID = 'K525'
            loginAdmin = os.getlogin()
            loginPwd = pwdEntryBox.get()
            searcClient = clientEntryBox.get()

            # TODO: login to STARS [application tab > general], if KaleidaScope login not needed got directly
            portal = '<PATH>'
            # TODO: using IE (for now until test in Chrome/FF)
            ie_driver = webdriver.Ie("<PATH>")
            #ie_driver = webdriver.Ie("<PATH>")
            ie_driver.get(portal)
            delay = 3

            # K525
            k525 = ie_driver.find_element_by_xpath("//*[@id='txtClientID']")
            k525.send_keys(defaultID)

            # AD Account
            admin = ie_driver.find_element_by_xpath("//*[@id='txtUserID']")
            admin.send_keys(loginAdmin)

            # PASSWORD
            pwd = ie_driver.find_element_by_xpath("//*[@id='txtPassword']")
            pwd.send_keys(loginPwd)
            pwd.send_keys(Keys.RETURN)

            # Wait for page to load/use JavaScript
            time.sleep(45)
            print('45s passed')
            time.sleep(2)
            # try:
            # 	WebDriverWait(ie_driver, delay).until(EC.presence_of_element_located(ie_driver.find_element_by_link_text('ADMIN').click()))
            # except TimeoutException:
            # 	print("Page took too long to load!")

            # JavaScript test
            #ie_driver("javascript:document.getElementById('Admin').click()")

            #ie_driver.find_element_by_link_text("ADMIN").click()
            #ie_driver.find_element_by_id("orionSlCtrl").click()

            # Click on Admin
            _clickADMIN = ie_driver.find_element_by_xpath("//*[@type='ADMIN']")
            _clickADMIN.click()

            # Another window opens and loads, wait 10s?
            time.sleep(45)

            # Window before
            window_handle_before = ie_driver.window_handles[0]

            # (opened window) Get window handle
            window_handle_after = ie_driver.window_handles[1]

            ie_driver.switch_to.window(window_handle_after)

            # Click on Users
            users = ie_driver.find_element_by_link_text("Users").click()

            time.sleep(2)
示例#26
0
    def __init__(self, reports=None, driver_name=None, mode=None, driverDirectory=None):
        if reports is None:
            reports = []
        Robot.__init__(self, reports)
        if driver_name is None:
            driver_name = self.config.robot['driverName']
        env = self.config.robot["env"]
        if mode is None:
            mode = self.get_mode_from_config()
        service_args_value = ""

        if driver_name == 'Firefox':
            ff_profile = webdriver.FirefoxProfile()

            ff_profile.set_preference("network.proxy.type", 1)
            ff_profile.set_preference("network.proxy.http_port", 8080)
            ff_profile.set_preference("network.proxy.http", "surf-sccc.pasi.log.intra.laposte.fr")
            ff_profile.set_preference("network.proxy.ssl_port", 8080)
            ff_profile.set_preference("network.proxy.ssl", "surf-sccc.pasi.log.intra.laposte.fr")
            ff_profile.set_preference("network.proxy.socks_port", 8080)
            ff_profile.set_preference("network.proxy.socks", "surf-sccc.pasi.log.intra.laposte.fr")
            ff_profile.set_preference("network.proxy.ftp_port", 8080)
            ff_profile.set_preference("network.proxy.ftp", "surf-sccc.pasi.log.intra.laposte.fr")
            ff_profile.set_preference("network.proxy.socks_username", "PPDJ824")
            ff_profile.set_preference("network.proxy.socks_password", "Lilalou07PANDORE")

            ff_profile.set_preference('browser.cache.disk.enable', False)
            ff_profile.set_preference('browser.cache.memory.enable', False)
            ff_profile.set_preference('browser.cache.offline.enable', False)
            ff_profile.set_preference('network.cookie.cookieBehavior', 2)

            ff_profile.update_preferences()

            options_ff = OptionsFF()
            if mode == "headless":
                options_ff.add_argument("--no-sandbox")
                # optionsFF.add_argument("--window-size=1900,1080")
                options_ff.add_argument("--width=1920")
                options_ff.add_argument("--height=1080")
                options_ff.add_argument("--disable-extensions")
                options_ff.add_argument("--disable-dev-shm-usage")
                options_ff.add_argument("--ignore-certificate-errors")
                options_ff.add_argument("--disable-gpu")
                options_ff.add_argument("--headless")

            self.driver = webdriver.Firefox(
                firefox_profile=ff_profile,
                options=options_ff
            )

        elif driver_name == 'IE':
            if driverDirectory is None:
                self.driver = webdriver.Ie(self.config.robot["repertoireDriver"])
            else:
                self.driver = webdriver.Ie(driverDirectory)
        else:  # Chrome
            options = OptionsChrome()
            options.add_argument("--incognito")
            # if env != 'dev':
            #     # options.add_argument('--proxy-server=http://localhost:3128')
            #     service_args_value = ['--verbose', '--log-path=/tmp/chromedriver.log']

            if mode == "headless":
                options.add_argument("--no-sandbox")
                options.add_argument("--headless")
                options.add_argument("--window-size=1900,1080")
                options.add_argument("--disable-extensions")
                options.add_argument("--disable-dev-shm-usage")
                options.add_argument("--ignore-certificate-errors")
                options.add_argument("--disable-gpu")

            options.add_argument("--start-maximized")
            if "download_directory" in self.config.robot:
                prefs = {'download.default_directory': self.config.robot["download_directory"]}
                options.add_experimental_option('prefs', prefs)

            driver_path = self.config.robot["repertoireDriver"]

            self.driver = webdriver.Chrome(chrome_options=options, executable_path=driver_path)
示例#27
0
from selenium import webdriver

driver = webdriver.Ie(executable_path="C:\DriverIE\IEDriverServer")
print(type(driver))
driver.get("https://opensource-demo.orangehrmlive.com/")
myPageTitte = driver.title
print(myPageTitte)
#assert "OrangeHRM" in myPageTitte
driver.quit()
示例#28
0
def login():
    browser = webdriver.Ie()
    browser.maximize_window()
    #登陆页面
    browser.get('http://10.246.109.17/fss')
    #输入用户名密码数据
    browser.find_element_by_id('loginname').send_keys('chenminghui.lube')
    browser.find_element_by_id('password').send_keys('1')
    #勾选记住密码
    checkbox = browser.find_element_by_id('remenberUser')
    if not checkbox.is_selected():
        checkbox.click()
    #点击登陆
    browser.find_element_by_class_name('button').click()
    sleep(5)

    #新建其他费用报销单
    lframe = browser.find_element_by_id('leftFrame')
    browser.switch_to.frame(lframe)
    browser.find_element_by_xpath(
        'html/body/div[1]/div[2]/table/tbody/tr/td/div/div/div[5]/div[2]'
    ).click()
    #点击新建
    browser.find_element_by_xpath(
        'html/body/div[1]/div[2]/table/tbody/tr/td/div/div/div[6]/div/ul/li[1]/div/span[2]'
    ).click()
    #选择其他费用报销
    browser.switch_to.default_content()
    mframe = browser.find_element_by_name('mainFrame')
    browser.switch_to.frame(mframe)
    browser.find_element_by_xpath(
        'html/body/div[1]/div/table/tbody/tr/td/div/div/div/table/tbody/tr/td[2]/div/div[1]/table/tbody/tr[4]/td/a/img'
    ).click()

    browser.find_element_by_id('invoiceNum').send_keys('1')  #附件张数
    browser.find_element_by_id('billNumber').send_keys('1')  #附件页数
    browser.find_element_by_id('remark').send_keys(u'自动化测试')  #申请事由
    # browser.find_element_by_id('businessType').click()# 业务种类
    #处理业务种类
    # mframe = browser.find_element_by_xpath('.//*[@id="comboxDiv0"]/iframe')
    # browser.switch_to.frame(mframe)
    # browser.find_element_by_id('txtName').send_keys('002')#业务种类选择
    # browser.find_element_by_id('btQuery').click()#搜索
    # sleep(3)
    # browser.find_element_by_xpath('//table[@id="cbTable"]/tbody/tr[2]/td[2]').click()#选择业务种类
    # sleep(3)
    #发票总金额
    browser.switch_to.default_content()
    mframe = browser.find_element_by_name('mainFrame')
    browser.switch_to.frame(mframe)
    browser.find_element_by_id('expBCurAmount_1').clear()
    browser.find_element_by_id('expBCurAmount_1').send_keys('100')
    #点击费用项目
    browser.find_element_by_id('expTree_1').click()
    mframe = browser.find_element_by_xpath('.//*[@id="comboxDiv0"]/iframe')
    browser.switch_to.frame(mframe)
    #常用勾选框
    checkbox = browser.find_element_by_id('moreExp')
    if checkbox.is_selected():
        checkbox.click()
    #费用项目
    browser.find_element_by_id('txtExpense').send_keys(u'项目培训费')
    browser.find_element_by_id('btQuery').click()
    browser.find_element_by_id("treeDemo_4_span").click()

    #保存
    browser.switch_to.default_content()
    mframe = browser.find_element_by_name('mainFrame')
    browser.switch_to.frame(mframe)
    browser.find_element_by_id('save_cr').click()  #保存
    #处理确定按钮
    sleep(3)
    browser.switch_to.parent_frame()
    browser.find_element_by_css_selector(".xubox_yes.xubox_botton1").click()
    sleep(3)
    #获取单号
    browser.switch_to.default_content()
    mframe = browser.find_element_by_name('mainFrame')
    browser.switch_to.frame(mframe)
    QIBX = browser.find_element_by_id('billCode').get_attribute('value')
    print QIBX
    #提交
    browser.find_element_by_id('submit_cr').click()
    sleep(5)
    browser.switch_to.parent_frame()
    browser.find_element_by_css_selector(".xubox_yes.xubox_botton1").click()
    sleep(5)
示例#29
0
    def start_browser(self, browser='chrome'):
        '''
        启动浏览器
        :param browser: 浏览器类型
        '''
        if BaseUI.driver:
            log_tool.info("浏览器以启动,请勿再次启动浏览器。")
            return
        try:
            if browser == "firefox" or browser == "ff":
                BaseUI.driver = webdriver.Firefox()
            elif browser == "chrome":
                driver_path = DRIVER_PATH
                BaseUI.driver = webdriver.Chrome(driver_path)
                BaseUI.driver.maximize_window()
                BaseUI.driver.implicitly_wait(10)
            elif browser == "internet explorer" or browser == "ie":
                BaseUI.driver = webdriver.Ie()
            elif browser == "opera":
                BaseUI.driver = webdriver.Opera()
            elif browser == "chrome_headless":
                chrome_options = Options()
                chrome_options.add_argument('--headless')
                BaseUI.driver = webdriver.Chrome(DRIVER_PATH,options=chrome_options)
            elif browser == "chrome_debugger":
                print("chrome_debugger模式")
                chrome_options = Options()
                chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:9111")
                BaseUI.driver = webdriver.Chrome(DRIVER_PATH, options=chrome_options)
                # BaseUI.driver.maximize_window()
                BaseUI.driver.implicitly_wait(10)
            elif browser == "mobile":
                print("mobile模式")
                # mobileEmulation = {'deviceName': 'Galaxy S5'}
                # chrome_options = webdriver.ChromeOptions()
                # chrome_options.add_experimental_option('mobileEmulation', mobileEmulation)
                # BaseUI.driver = webdriver.Chrome(executable_path=DRIVER_PATH, chrome_options=chrome_options)
                WIDTH = 320
                HEIGHT = 640
                PIXEL_RATIO = 3.0
                UA = 'Mozilla/5.0 (Linux; Android 4.1.1; GT-N7100 Build/JRO03C) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/35.0.1916.138 Mobile Safari/537.36 T7/6.3'
                mobileEmulation = {"deviceMetrics": {"width": WIDTH, "height": HEIGHT, "pixelRatio": PIXEL_RATIO},"userAgent": UA}
                options = webdriver.ChromeOptions()
                options.add_experimental_option('mobileEmulation', mobileEmulation)
                BaseUI.driver = webdriver.Chrome(executable_path=DRIVER_PATH, chrome_options=options)
                BaseUI.driver.maximize_window()
                BaseUI.driver.implicitly_wait(10)
            elif browser == "headless":
                chrome_options = Options()
                # chrome_options.add_argument('--no-sandbox')  # 解决DevToolsActivePort文件不存在的报错
                # chrome_options.add_argument('window-size=1920x3000')  # 指定浏览器分辨率
                # chrome_options.add_argument('--disable-gpu')  # 谷歌文档提到需要加上这个属性来规避bug
                # chrome_options.add_argument('--hide-scrollbars')  # 隐藏滚动条, 应对一些特殊页面
                # chrome_options.add_argument('blink-settings=imagesEnabled=false')  # 不加载图片, 提升速度
                chrome_options.add_argument('--headless')  # 浏览器不提供可视化页面. linux下如果系统不支持可视化不加这条会启动失败
                chrome_options.binary_location = r"C:\Program Files\Google\Chrome\Application\chrome.exe"  # 手动指定本机电脑使用的浏览器位置

                # 创建一个driver,进行后面的请求页面等操作,executable_path指定本机中chromedriver.exe的位置
                BaseUI.driver = webdriver.Chrome(chrome_options=chrome_options, executable_path=DRIVER_PATH)

            elif browser == 'edge':
                BaseUI.driver = webdriver.Edge()
            else:
                log_tool.error("启动浏览器失败,没有找到%s浏览器,请输入'ie', 'ff', 'opera', 'edge', 'chrome' or 'chrome_headless'"% browser)
                raise NameError(
                    "启动浏览器失败,没有找到%s浏览器,请输入'ie', 'ff', 'opera', 'edge', 'chrome' or 'chrome_headless'"% browser)
        except WebDriverException:
            log_tool.error("启动浏览器失败,请检查webdriver是否配置,或者webdriver版本是否和浏览器匹配")
            raise
        self.shot("-------测试开始,启动{}浏览器成功-------".format(browser))
# coding:utf-8
from selenium import webdriver
from urllib import request
from bs4 import BeautifulSoup
import chardet
import requests
import os  #导入os模块
import win32
import time
import docx

drv = webdriver.Ie('D:\webdriver\IEDriverServer')
time.sleep(5)
head = {}
# time.sleep(1)
head[
    'User-Agent'] = 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36'

#for ti in range(1):
'''time.sleep(3)
nextPage = drv.find_element_by_xpath("//a[@href='publicApplyServlet?command=findPublicApplyList&orgCode=&pager.offset=10']")
nextPage.click()'''
address = 'http://221.232.152.210/PBBS/publicnoticeservlet?command=findAllPublicNoticeList&flag=hppfBulletinList&pager.offset=1500'
x = 1500
for w in range(239):
    # time.sleep(3)
    drv.get(address)
    # time.sleep(5)
    elements = drv.page_source
    time.sleep(1)
    soup = BeautifulSoup(elements, 'html.parser')