简体   繁体   English

Python Selenium —如何支持Gmail在一个带有自定义主题和正文内容(Gmail)的标签下撰写多个新邮件

[英]Python Selenium — how to support Gmail compose multiple New message under one Tab with customized subject and body content (Gmail)

I am fresh new for Python and Selenium learning 我是Python和Selenium学习的新手

I've written script as below to compose 1 message and then send it 我写了如下脚本来撰写1条消息然后发送

Expected: i want to compose 50+ message under one tab and with customized subject and body content 预期:我想在一个标签下撰写50余条消息,并自定义主题和正文内容

My problem: those new messages frames have the same class name , how can i identify each 我的问题:这些新消息框具有相同的类名,如何识别每个

thanks 谢谢

browser=webdriver.Chrome(exepath)
browser.get(url)

elem = browser.find_element_by_id('identifierId')
elem.send_keys(user)

browser.find_element_by_xpath ('//*[@id="identifierNext"]/content/span').click()
time.sleep(2)


elem = browser.find_element_by_xpath('//*[@id="password"]/div[1]/div/div[1]/input')
elem.send_keys(pwd)
time.sleep(2)

browser.find_element_by_xpath ('//*[@id="passwordNext"]/content/span').click()
time.sleep(10)


browser.find_element_by_xpath (".//*[text()= 'COMPOSE']").click()
time.sleep(2)

elem = browser.find_element_by_class_name("vO")
elem.send_keys(to)
time.sleep(3)

elem = browser.find_element_by_class_name("aoT")
elem.send_keys(subject)
time.sleep(3)

#browser.find_element_by_xpath("//div[text()='Send']").click()

Each frame has it's own div with identifier? 每个框架都有自己的带有标识符的div? You can get all of this frames: 您可以获得所有这些框架:

frames = browser.find_element(<selector>)
for frame in frames:
    # your code here, you can use XPATH only selectors to search in parent element, just use '.' at the beggining of each, example method is below

Method to get each child element: 获取每个子元素的方法:

_xpath_test_elem_parent = ".//*{0}"

def parent_element(self, parent: WebElement, locator: str):
    """
    Returns ``WebElement`` instance for the given data-test locator and
    parent element

    :param parent: Parent element
    :param locator: Data-test locator for element
    :return: WebElement instance
    """
    logger.info('Searching for element with '
               '"{0}"'.format(locator))
    elem = parent.find_element_by_xpath(
        self._xpath_test_elem_parent.format(locator))
    return elem

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM