web-dev-qa-db-ja.com

Python HTMLソースにアクセスするSelenium

PythonでSeleniumモジュールを使用して、変数で HTML ソースを取得するにはどうすればよいですか?

私はこのようなことをしたかった:

from Selenium import webdriver
browser = webdriver.Firefox()
browser.get(raw_input("Enter URL: "))
if "whatever" in html_source:
    # Do something
else:
    # Do something else

これどうやってするの? HTMLソースにアクセスする方法がわかりません。

85
user1008791

page_sourceプロパティを呼び出す必要があります。下記参照。

from Selenium import webdriver
browser = webdriver.Firefox()
browser.get(raw_input("Enter URL: "))
html_source = browser.page_source
if "whatever" in html_source:
    # do something
else:
    # do something else
167
AutomatedTester

Selenium2Libraryでは、get_source()を使用できます

import Selenium2Library
s = Selenium2Library.Selenium2Library()
s.open_browser("localhost:7080", "firefox")
source = s.get_source()
5
Milanka

driver.page_sourceは、ページのソースコードを取得するのに役立ちます。ページソースにテキストが存在するかどうかを確認できます。

from Selenium import webdriver
driver = webdriver.Firefox()
driver.get("some url")
if "your text here" in driver.page_source:
    print('Found it!')
else:
    print('Did not find it.')

ページソースを変数に保存する場合は、driver.getの後に次の行を追加します。

var_pgsource=driver.page_source

if条件を次のように変更します。

if "your text here" in var_pgsource:
3
Dhiraj

ページソースを使用すると、HTMLコード全体を取得できます。
最初に、データの取得または要素のクリックが必要なコードまたはタグのブロックを決定します。

options = driver.find_elements_by_name_("XXX")
for option in options:
    if option.text == "XXXXXX":
        print(option.text)
        option.click()

名前、XPath、id、リンク、CSSパスで要素を見つけることができます。

2

URL をurllibに使用するための質問に答えるには、次のJavaScriptコードを実行します。

url = browser.execute_script("return window.location;")
1
Bob Evans