首页 python正文

如何使用selenium自动登录网易邮箱,及xpath中stars-with与ends-with的用法介绍

启明SEO python 2021-02-02 09:38:18 2875 0 自动登录网易邮箱

如何使用selenium自动登录网易邮箱,及xpath中stars-with与ends-with的用法介绍

网易邮箱在使用selenium实现自动登录的时候,有一点是需要我们注意的,如果没有注意到这个点,那么就是没有办法实现自动登录的。这个需要关注的点就是iframe窗口,其实通过审查元素仔细看你会发现,网易邮箱这个登录界面的html中有一个iframe,iframe下又有一个<html>,这其实就是说,在当前页面有个新的窗口,窗口中有个html。所以,要想查找到登录的元素,我们必须要将窗口切换到iframe中。具体代码如下:

from selenium import webdriver
from selenium.webdriver import ChromeOptions, FirefoxProfile
from fake_useragent import UserAgent
import time

def google():
    # ipports = self.huo_ip()
    ua = UserAgent()
    option = ChromeOptions()
    userage = ua.chrome
    # option.add_argument(('--proxy-server=' + ipports[0] + ':' + ipports[1]))
    option.add_argument('user-agent=' + userage + '')
    option.add_argument('disable-infobars')
    option.add_experimental_option('excludeSwitches', ['enable-automation'])
    option.add_experimental_option("useAutomationExtension", False)
    browser = webdriver.Chrome(options=option, executable_path='chromedriver.exe')
    browser.maximize_window()
    browser.implicitly_wait(2)
    browser.get('https://mail.163.com/')
    #下面这句就是切换到iframe窗口下的代码,其中需要注意的是iframe[starts-with(@id, 'x-URS-iframe')]
    browser.switch_to.frame(browser.find_element_by_xpath("//iframe[starts-with(@id, 'x-URS-iframe')]"))
    browser.find_element_by_name("email").send_keys("yueqingche")
    browser.find_element_by_name("password").send_keys("seo123456")
    browser.find_element_by_id('dologin').click()
    time.sleep(15)


if __name__ == '__main__':
    google()

上面之所以使用iframe[starts-with(@id, 'x-URS-iframe')],主要原因是因为网易中这个iframe的id="x-URS-iframe1612229174595.2632"中,后面的那一段数字是一个变量,你每次打开他们都是不一样的,所以精确的找是无法找到这个iframe,必须要使用starts-with(@id, 'x-URS-iframe'),starts-with的意思是以么么开头,其中与之相对应的有ends-with,顾名思义就是以么么结尾。


评论

Python好学公众号

好文推荐

实时访客入口页面出现bd_vid=标识是什么原因

实时访客入口页面出现bd_vid=标识是什么原因

最近查看百度实时访客,总是会看到入口页面会多......

有了微信视频号,但是没有发布权限,怎么开通

有了微信视频号,但是没有发布权限,怎么开通

视频号是微信在2020年1月19号开始内测的......

如何用python抓取爱企查企业信息

如何用python抓取爱企查企业信息

前段时间,经理让我去找一些企业的信息,我平常......

网站始终只收录一个首页,为什么

网站始终只收录一个首页,为什么

新做了两个网站,但是一直只是收录一个首页,快......

服务器配置低,宝塔面板安装IIS总是安装不上怎么办

服务器配置低,宝塔面板安装IIS总是安装不上怎么办

对于一般企业网站或者博客来说,对服务器的配置......

网站权重上不去应该怎么解决

网站权重上不去应该怎么解决

要提高网站的权重,可以考虑以下几个方面:......