200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > Selenium WebDrive使用Edge浏览器模拟登录163邮箱

Selenium WebDrive使用Edge浏览器模拟登录163邮箱

时间:2019-04-08 20:12:47

相关推荐

Selenium WebDrive使用Edge浏览器模拟登录163邮箱

**

Selenium WebDrive使用Edge浏览器模拟登录163邮箱(详细过程及代码)

**

1.首先要在pycharm中下载好Selenium

2.然后下载浏览器驱动这里是链接

(/en-us/microsoft-edge/tools/webdriver/)

*注意版本要一致

*注意放置的位置要在python3.7(这里是我用的)的更目录下也就是找到python文件夹打开后放进去有些资料说要改名这里不用因为Selenium版本更新了改的话反而出错

*路径配置问题的话如果之前为python配置好了path的话就不用再重复了

3.就要现代码了

from selenium import webdriverimport timefrom mon.by import Bydriver = webdriver.Edge()driver.get('')time.sleep(10)# 登录iframe = driver.find_elements(By.TAG_NAME,"iframe")[0]driver.switch_to.frame(iframe)driver.find_element(By.NAME,"email").clear()driver.find_element(By.NAME,"email").send_keys('zuoruixiang')driver.find_element(By.NAME,"password").clear()driver.find_element(By.NAME,"password").send_keys("03zrx")driver.find_element(By.ID,"dologin").click()time.sleep(2)driver.switch_to.default_content() # 跳出 frame,回到主页面print(driver.title) # 获取标题time.sleep(3)

*这里的代码坑已经避了哦

4.下面还是要把我避坑的过程和大家讲一讲咯

我使用的是电脑自带的Edge浏览器故下载驱动时应该在官网寻找版本匹配的驱动器,驱动器一定要放在相应的python更目录下,用driver = webdriver.Edge()加载驱动

出现报错NoSuchFrameException: Message: no such frame: element is not a frame时是因为136邮箱iframe标签的id会变动所以不可以用id属性直接定位应该用直接定位iframe标签的方式:

iframe = driver.find_elements(By.TAG_NAME,“iframe”)[0]

driver.switch_to.frame(iframe)

同时element元素少了s,这会使定位出现问题报错 TypeError: ‘WebElement‘ object is not subscriptable,需要把find_element改成find_elements进行定位,才能解决问题

报错:UserWarning: find_elements_by_class_name is deprecated. Please use find_elements(by=By.CLASS.时是因为python版本更新之后之前的方法已经废弃应该用driver.find_element(By.NAME,“email”).这样的方式代替同时还要引入from mon.by import By

报错 ‘WebDriver’ object has no attribute 'switch_to_context’应将语句改为driver.switch_to.default_content()格式

好了哦,如有改进欢迎交流

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。