一个晚上加一个上午啊 笨死算球

一个晚上加一个上午啊 笨死算球

__author__ = 'Administrator'
# coding: utf-8
from selenium import webdriver
import time
import os
import pdb
from selenium import selenium
from selenium import webdriver
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.support.ui import WebDriverWait # available since 2.4.0
from selenium.webdriver.support import expected_conditions as EC # available since 2.26.0

# if 'HTTP_PROXY'in os.environ: del os.environ['HTTP_PROXY']


browser = webdriver.Firefox() # open Chrome or Firefox
browser.get("http://www.******.com/") # load www.cmall.com
time.sleep(2) # let the page load

print('title of current page is %s' %(browser.title))
print('url of current page is %s' %(browser.current_url))
time.sleep(2)

browser.find_element_by_xpath(".//*[@id='userLogin']/a[1]/span").click()
'''
XX = browser.find_element_by_tag_name("iframe")
browser.switch_to.frame(XX)
browser.find_element_by_id('usernameLogin').send_keys('*****')
browser.find_element_by_id('passwordLogin').send_keys('*******')
time.sleep(2)
browser.find_element_by_id('btnLoginLocal').click()
'''
'''
# 这种方法也可以的,就是太笨了,真难看
browser.get("http://www.******.com/login-quick.html")
browser.find_element_by_id('btnLogin').click()
time.sleep(5)
browser.find_element_by_id('usernameLogin').send_keys('*******')
browser.find_element_by_id('passwordLogin').send_keys('*******')
browser.find_element_by_id('btnLoginLocal').click()
'''


# def changeTostartOrderWindow(browser):
# yuding = browser.find_element_by_xpath('html/body/div[5]/div[3]/div[2]/div/iframe')
# browser.find_elements_by_class_name('pdb-contentframe')


# 原来无需先定位上层class,原来不支持直接yuding=browser.find这种写法
browser.find_element_by_tag_name('iframe')
yuding = browser.find_element_by_tag_name('iframe')
'''
text = yuding.get_attribute()
print("iframe's id is" %text)
'''
# text = yuding.find_element_by_tag_name('iframe').get_attribute('id')


# yuding = browser.FindElements('iframe_1453206880881') 动态的iframe无法取到固定id
browser.switch_to_frame(yuding) # 之前用的iframe,怎么也取不到

time.sleep(10)

# browser.switch_to().frame(yuding)
browser.find_element_by_id('btnLogin').click()
time.sleep(10)


# yufeng = browser.find_element_by_name('iframe_1453204183258')
# browser.switch_to.frame(yufeng) 方法么写对啊,不是点,而是下划线
browser.find_element_by_id('usernameLogin').send_keys('*******')
browser.find_element_by_id('passwordLogin').send_keys('******')
browser.find_element_by_id('btnLoginLocal').click()
# pass
# 切换框架方法-结束

#def changeToDefaultIframe(browser):
browser.switch_to.default_content();
#pass

转载于:https://www.cnblogs.com/vivivi/p/5144778.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/109169.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Python&R语言-python和r相遇

    Python&R语言-python和r相遇前言  如果你是数据分析领域的新兵,那么你一定很难抉择——在进行数据分析时,到底应该使用哪个语言,R还是Python?在网络上,也经常出现诸如“我想学习机器语言,我应该用哪个编程

  • SQL中IS NOT NULL与!=NULL的区别

    SQL中IS NOT NULL与!=NULL的区别平时经常会遇到这两种写法:ISNOTNULL与!=NULL。也经常会遇到数据库有符合条件!=NULL的数据,但是返回为空集合。实际上,是由于对二者使用区别理解不透彻。默认情况下,推荐使用ISNOTNULL去做条件判断,因为SQL默认情况下对WHEREXX!=Null的判断会永远返回0行,却不会提示语法错误。这是为什么呢?SQLServer文档中对Null值的

  • [转]tika支持的文件格式

    [转]tika支持的文件格式SupportedDocumentFormatsThispagelistsallthedocumentformatssupportedbytheparsersinApacheTika1.13.Followthelinkstothevariousparserclassjavadocsformoredetailedinformatio…

    2022年10月27日
  • java的编程思想是什么’_编程思想 是什么

    java的编程思想是什么’_编程思想 是什么未完待续,预计4.4完成1什么是项目在既定的资源和要求的约束下,为实现某种目的而相互联系的一次性工作任务。项目可以创造:1.一个产品;2.一种服务或提供服务的能力;3.对现有产品线或服务的改进;4.一种成果。项目的两大特性:1.临时性(Temporary)项目有明确的起点和终点,临时性并不意味着持续时间短,很多项目的结果具有持久性2.独特性(Unique)项目创造独特的可交互成果(Deliver…

  • jdk动态代理invoke方法自动运行原因

    jdk动态代理invoke方法自动运行原因invoke方法介绍想要知道invoke方法为什么会自动调用我们先要来了解一下这个方法publicinterfaceInvocationHandler{publicObjectinvoke(Objectproxy,Methodmethod,Object[]args)首先该方法来自于接口InvocationHandler,该接口中仅有一个invoke方法,该…

  • html小写罗马字符怎么写,如何在 LATEX 中插入大小写的罗马字符[通俗易懂]

    html小写罗马字符怎么写,如何在 LATEX 中插入大小写的罗马字符[通俗易懂]擅长:LS-DYNA,AUTODYNLATEX不直接支持显示大小写罗马数字,但是可以通过自定义命理来实现。首先在文章的导言区加入上面四行\makeatletter\newcommand{\rmnum}[1]{\romannumeral#1}\newcommand{\Rmnum}[1]{\expandafter\@slowromancap\romannumeral#1@}\makeatothe…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号