python的selenium自动化打开chrome后自动和手工混合操作?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python的selenium自动化打开chrome后自动和手工混合操作?相关的知识,希望对你有一定的参考价值。
请问,在用selenium自动化打开chrome后,打开某网址,然后手工登陆,手工登陆完成后,再交给自动化selenium,这时selenium如何获取当前网页源码,进行后续自动化操作?
您好,对于你的遇到的问题,我很高兴能为你提供帮助,我之前也遇到过哟,以下是我的个人看法,希望能帮助到你,若有错误,还望见谅!。与使用FireFox、IE测试基本一样。前提是需要Chrome的驱动程序,可以单独下载,然后至于何时的位置,在脚本中指明该驱动所在的位置即可。如使用IE测试:下载IEDriver(IE的驱动);
在脚本中使用命令指定驱动所在的位置;非常感谢您的耐心观看,如有帮助请采纳,祝生活愉快!谢谢! 参考技术A 可以设计一个循环,等待登陆操作结束后出现新页面。
登录界面的特有元素消失,或出现了新页面的特殊元素,才退出循环进行下面的操作即可。
如果不需要这么智能,你只需要设计个等待10秒,二十秒等待你操作的时间,然后继续后面的逻辑即可。
希望我的回答对你有帮助本回答被提问者采纳 参考技术B 加个 while+if 登录成功就跳出 参考技术C 打开网址后利用循环或等待多长时间再去访问登录够的页面即可
python2+selenium+mail,自动登录126邮箱
在进行登录126邮箱时有几个坑,要完美避过可以看一下下文,直接上代码:
#encoding = utf-8
from selenium import webdriver
import unittest
import time
class login126(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Chrome(executable_path = "chromedriver")
def test_login(self):
self.driver.get("https://mail.126.com/")
time.sleep(3)
#此处的登录框是在iframe里,所以一定要先进入iframe,然后才能找到元素
self.driver.switch_to.frame(self.driver.find_element_by_xpath(".//*[@id=‘x-URS-iframe‘]"))
time.sleep(3)
#登录和密码输入框要切记不要用ID来进行定位,每次登录ID都会进行变化的
self.driver.find_element_by_xpath(".//*[@data-placeholder=‘邮箱帐号或手机号‘]").send_keys(‘xxxx‘)
self.driver.find_element_by_xpath(‘//*[@data-placeholder="密码"]‘).send_keys(‘xxxxx‘)
self.driver.find_element_by_xpath(‘//*[@id="dologin"]‘).click()
## self.driver.switch_to.default_content()
#断言前要等待页面加载出来后在进行断言
time.sleep(10)
assert u‘退出‘ in self.driver.page_source
def tearDown(self):
self.driver.quit()
if __name__ == ‘__main__‘:
unittest.main()
以上是关于python的selenium自动化打开chrome后自动和手工混合操作?的主要内容,如果未能解决你的问题,请参考以下文章
Mac中的Python安装selenium,结合chrom及chromdriver使用
Python 的selenium打包成程序后,电脑里没有安装chrom浏览器,如何运行?
python Chrome + selenium自动化测试与python爬虫获取网页数据