2つのPython-seleniumポジショニングページ要素

2つのオブジェクトの配置

2.1単一の要素の配置

自動化されたテストでは、オブジェクト要素の配置と操作は自動化のコア部分ですが、オブジェクトは配置の自動化の基礎であり、オブジェクトの操作はオブジェクトに基づいて形成できます。

Webdriverは、要素の配置方法を提供します。一般的な方法は次のとおりです。

id

名前

クラス名

タグ名

リンクテキスト

部分的なリンクテキスト

xpath

cssセレクター

pythonwebdriverに対応する個々のメソッドは次のとおりです。

find_element_by_id()

find_element_by_name()

find_element_by_class_name()

find_element_by_tag_name()

find_element_by_link_text()

find_element_by_partial_link_text()

find_element_by_xpath()

find_element_by_css_selector()

 

Baiduホームページの検索入力ボックスがケースです。検索入力ボックスにappiumと入力して、Python Webdriverの要素の位置を説明します。Baiduホームページの検索入力ボックスのソースコードのスクリーンショットを参照してください。

<input id = "kw" class = "s_ipt" autocomplete = "off" maxlength = "255" value = "" name = "wd">

id / name / classname / xpath / cssセレクターの配置方法は次のとおりです。

#IDによるポジショニング

driver.find_element_by_id( 'kw')。send_keys( 'appium')

#名前で探す

driver.find_element_by_name( 'wd')。send_keys( 'appium')

#クラス名で検索

driver.find_element_by_class_name( 's_ipt')。send_keys( 'appium')

#xpath経由で検索

driver.find_element_by_xpath( ".//*[@id='kw']").send_keys('appium ')

#cssセレクターによるポジショニング

driver.find_element_by_css_selector( '#kw')。send_keys( 'appium')

Baiduホームページで「ニュース」を見つけるためのテキスト/部分リンクのリンク方法は次のとおりです。

リンクテキストで検索

driver.find_element_by_link_text(u '新闻')。click()

#部分的なリンクテキストによるポジショニング

driver.find_element_by_partial_link_text(u '闻')。click()

 

2.2要素のグループの配置

ブラウザの特定の操作では、ボックスのドラッグなど、オブジェクトのグループを見つける必要がある場合があります。Webdriverには、要素のグループを見つけるためのメソッドfind_elementsが用意されています。

オブジェクトのグループを見つける方法は、単一のオブジェクトを見つける方法と同じです。以下を参照してください。

find_elements_by_id()

find_elements_by_name()

find_elements_by_class_name()

find_elements_by_tag_name()

find_elements_by_link_text()

find_elements_by_partial_link_text()

find_elements_by_xpath()

find_elements_by_css_selector()

オブジェクトのグループを見つけるために使用されるシーンは、一般的に次のとおりです。

1.バッチ操作

2.もう1つは、オブジェクトのグループを選択し、このオブジェクトのグループ内で特定のオブジェクトを見つけることです。

2.3ブラウザの操作

ブラウザを最大化

Driver.maximize_window()

ブラウザの高さと幅を設定します

Driver.set_window_size()

ブラウザを前方に制御する

Driver.forward()

ブラウザを制御し直す

Driver.back()

ブラウザの更新

Driver.refersh()

ブラウザのタイトルを取得する

Driver.title

現在のウェブページのURLを取得します

Driver.current_url

現在のページのソースコードを取得する

Driver.page_source

実行中のブラウザの名前を取得します

Driver.name

上記のコード例は次のとおりです。

#コーディング:utf-8

セレンインポートWebドライバーから

時間からインポートスリープ

driver = webdriver.Firefox()#Python3.0を選択した場合は、ドライバーを追加する必要があります

#ブラウザの高さと幅を設定します

driver.set_window_size(500,600)

#ブラウザの最大化

driver.maximize_window()

driver.implicitly_wait(30)

#Baiduにアクセス

driver.get( 'http://www.baidu.com')

#更新

driver.refresh()

#bingにアクセス

driver.get( 'http://www.bing.com')

#戻る

driver.back()

# どうぞ

driver.forward()

#ブラウザのタイトルを取得する

プリンタードライバーのタイトルを印刷

#ブラウザのURLを取得する

プリンタードライバー.current_url

#ブラウザの現在のページのソースコードを取得します

プリンタードライバー.page_sourceを印刷する

#現在実行中のブラウザを取得する

プリンタードライバーの名前を印刷します

driver.quit()

2.4WebElementインターフェースの一般的なメソッド

要素のサイズを返します

Driver.size()

要素のテキストを取得します

Driver.text

属性値を取得する

Driver.get_attribute()

変更した要素を表示するかどうかを設定します

Driver.is_displayed

チェックボックスまたはラジオボックスがチェックされているかどうか

Driver.is_selected()

入力編集ボックスが編集されているかどうかを保存します

Driver.is_enabled()

空の操作

Driver.clear()

アクションをクリックする

Driver.click()

入力操作

Driver.send_keys()

******************************上記のコード例は次のとおりです:************ ***** ********************************************* ***** ********************

#coding:utf-8

seleniumimportwebdriverから

timeimportsleepから

driver = webdriver.Firefox()

driver.maximize_window()

driver.implicitly_wait(30)

driver.get( 'http://www.baidu.com')

login = driver.find_element_by_id( 'su')

#要素サイズを取得する

login.sizeを印刷します

#プロパティを取得する

printlogin.get_attribute( 'type')

#要素が表示されているかどうか

print u '表示されます:'、login.is_displayed()

#要素をチェックできるかどうか

print u 'チェック可能:'、login.is_selected()

#要素が編集可能かどうか

print u 'は編集可能です:'、login.is_enabled()

driver.quit()

2.5Baiduログインの例

BaiduホームページでBaiduにログインおよびログアウトして、デモ要素の配置とapiパーツの使用を完了しました。次のコードを参照してください。

************************************コード部分************ * ************************************************* * ***************

#コーディング:utf-8

seleniumimportwebdriverから

timeimportsleepから

driver = webdriver.Firefox()

driver.maximize_window()

driver.implicitly_wait(30)

driver.get( 'http://www.baidu.com')

#ログインボタンをクリックします

driver.find_element_by_link_text(u '登录')。click()

#アカウントを入力

driver.find_element_by_id( 'TANGRAM__PSP_8__userName')。send_keys( 'baidu account')

# パスワードを入力する

driver.find_element_by_id( 'TANGRAM__PSP_8__password')。send_keys( 'アカウントパスワード')

#自動ログインをキャンセルする

driver.find_element_by_id( 'TANGRAM__PSP_8__memberPass')。click()

#ログインボタンをクリックします

driver.find_element_by_id( 'TANGRAM__PSP_8__submit')。click()

#ニックネームを取得

niCheng = driver.find_element_by_xpath( ".// * [@ id = 's_username_top'] / span")

text = niCheng.text

niCheng.click()

#終了ボタンをクリックします

driver.find_element_by_xpath( ".// * [@ id = 's_user_name_menu'] / div / a [5]")。click()

#[OK]ボタンをクリックします

driver.find_element_by_xpath( ".// * [@ id = 'tip_con_wrap'] / div [3] / a [3]")。click()

sleep(2)

u'MaduChongshi 'でテキストをアサートします

driver.quit()

 

 

おすすめ

転載: blog.csdn.net/yang520java/article/details/82734826