Python自動テストシリーズ[v1.0.0] [iframeの処理]

ページにiframeがある場合、iframeノードの下にページ要素を直接配置することはできません。最初にiframeに切り替えてから、iframeにページ要素を配置する必要があります。iframeに切り替えると、配置できません。 iframeの外にある要素の場合は、スイッチアウトしてiframeの外に要素を配置する必要があります。
上記のさまざまな操作のカプセル化を終えると、iframeのカプセル化ははるかに簡単になります。次に、カプセル化されたメソッドとその呼び出し方法を紹介します。

メソッドのカプセル化

def switch_to_iframe(self, frame):
    """
    用于切换进页面的iframe控件
    :param iframe:
    :return:
    """
    self.driver.switch_to.frame(frame)
def switch_to_default_content(self):
    """
    从iframe中切换回主页页面
    :return:
    """
    self.driver.switch_to.default_content()

メソッド呼び出し

def test_switch_iframe(self):  # 定义测试方法
    chrome_driver = webdriver.Chrome()
    chrome_driver.get("https://mail.163.com")
    time.sleep(10)
    frame = chrome_driver.find_element_by_xpath("//*[@id='loginDiv']/iframe")
    # 调用封装好的方法切换进iframe控件
    Browser_Controller(chrome_driver).switch_to_iframe(frame)  
    time.sleep(5)
    chrome_driver.find_element_by_name("email").send_keys("邮箱账号")
    chrome_driver.find_element_by_name("password").send_keys("邮箱密码")
    chrome_driver.find_element_by_id("dologin").click()

231件の元の記事を公開 188件の賞賛 120,000回の表示

おすすめ

転載: blog.csdn.net/dawei_yang000000/article/details/105648554