Ausführliche Erklärung zur Verwendung von Selen
Detaillierte Erläuterung der Selenium-Nutzung
*Selenium wird hauptsächlich für automatisierte Tests verwendet und unterstützt mehrere Browser. Es wird hauptsächlich in Crawlern zur Lösung von JavaScript-Rendering-Problemen verwendet.
Simulieren Sie den Browser, um die Webseite zu laden.
1 Deklarieren Sie das Browserobjekt Benennen Sie nicht den Paketnamen Selenium, da dieser nicht importiert werden kann. rrree
Webdriver kann als Treiber des Browsers verwendet werden. Es unterstützt mehrere Browser ist Chrome als Beispiel
from selenium import webdriver
browser = webdriver.Chrome()
Single Element
from selenium import webdriver browser = webdriver.Chrome() browser.get('https://www.taobao.com') print(browser.page_source) # browser.page_source是获取网页的全部htmlbrowser.close()
Häufig verwendet Die Suchmethode
from selenium import webdriver browser = webdriver.Chrome() browser.get('https://www.taobao.com') input_first = browser.find_element_by_id('q') input_second = browser.find_element_by_css_selector('#q') input_third = browser.find_element_by_xpath('//*[@id="q"]') print(input_first,input_second,input_third) browser.close()
kann auch die allgemeine Methode
find_element_by_name find_element_by_xpath find_element_by_link_text find_element_by_partial_link_text find_element_by_tag_name find_element_by_class_name find_element_by_css_selector
mehrere Elemente, mehrere Elemente s
from selenium import webdriverfrom selenium.webdriver.common.by import By browser = webdriver.Chrome() browser.get('https://www.taobao.com') input_first = browser.find_element(BY.ID,'q')#第一个参数传入名称,第二个传入具体的参数print(input_first) browser.close()
5. Interaktive Aktionen, steuern Sie den Browser, um Aktionen auszuführen, simulieren Sie Drag-and-Drop-Aktionen und hängen Sie Aktionen an die Aktionskette an, um sie seriell auszuführen
input_first = browser.find_elements_by_id('q')
JavaScript ausführen
Einige Aktionen werden möglicherweise nicht über die API bereitgestellt, z. B. das Fortschrittsbalken-Dropdown. Zu diesem Zeitpunkt können wir JavaScript über Code ausführen
from selenium import webdriver import timebrowser = webdriver.Chrome() browser.get('https://www.taobao.com') input = browser.find_element_by_id('q')#找到搜索框input.send_keys('iPhone')#传送入关键词time.sleep(5) input.clear()#清空搜索框input.send_keys('男士内裤') button = browser.find_element_by_class_name('btn-search')#找到搜索按钮button.click()
7. Elementinformationen abrufenAttribute abrufen
from selenium import webdriverfrom selenium.webdriver import ActionChains#引入动作链browser = webdriver.Chrome() url = 'http://www.runoob.com/try/try.php?filename=jqueryui-api-droppable'browser.get(url) browser.switch_to.frame('iframeResult')#切换到iframeResult框架source = browser.find_element_by_css_selector('#draggable')#找到被拖拽对象target = browser.find_element_by_css_selector('#droppable')#找到目标actions = ActionChains(browser)#声明actions对象actions.drag_and_drop(source, target) actions.perform()#执行动作
Textwert abrufen
from selenium import webdriver browser = webdriver.Chrome() browser.get('https://www.zhihu.com/explore') browser.execute_script('window.scrollTo(0, document.body.scrollHeight)') browser.execute_script('alert("To Bottom")')
ID, Ort, Tag-Name, Größe abrufen
from selenium import webdriverfrom selenium.webdriver import ActionChains browser = webdriver.Chrome() url = 'https://www.zhihu.com/explore'browser.get(url) logo = browser.find_element_by_id('zh-top-link-logo')#获取网站logoprint(logo) print(logo.get_attribute('class')) browser.close()
8. Frame-Operation
Frame entspricht einer unabhängigen Webseite Wenn Sie im Netzwerkrahmen der übergeordneten Kategorie nach einer Unterkategorie suchen, müssen Sie zum Rahmen der Unterklasse wechseln. Wenn die Unterklasse nach der übergeordneten Klasse sucht, muss sie auch zu
from selenium import webdriver browser = webdriver.Chrome() url = 'https://www.zhihu.com/explore'browser.get(url) input = browser.find_element_by_class_name('zu-top-add-question') print(input.text)#input.text文本值browser.close()
wechseln. 9. Warten
Wenn beim Ausführen des Tests das implizite Warten verwendet wird und WebDriver das Element im DOM nicht findet, wartet es weiter Die Ausnahme des nicht gefundenen Elements wird ausgelöst. Mit anderen Worten, wenn das Element gefunden wird oder nicht sofort angezeigt wird, wird implizit eine Zeit lang gewartet, bevor das DOM durchsucht wird ist 0from selenium import webdriver
browser = webdriver.Chrome()
url = 'https://www.zhihu.com/explore'browser.get(url)
input = browser.find_element_by_class_name('zu-top-add-question')
print(input.id)#获取idprint(input.location)#获取位置print(input.tag_name)#获取标签名print(input.size)#获取大小browser.close()
from selenium import webdriverfrom selenium.common.exceptions import NoSuchElementException browser = webdriver.Chrome() url = 'http://www.runoob.com/try/try.php?filename=jqueryui-api-droppable'browser.get(url) browser.switch_to.frame('iframeResult') source = browser.find_element_by_css_selector('#draggable') print(source)try: logo = browser.find_element_by_class_name('logo')except NoSuchElementException: print('NO LOGO') browser.switch_to.parent_frame() logo = browser.find_element_by_class_name('logo') print(logo) print(logo.text)
from selenium import webdriver browser = webdriver.Chrome() browser.implicitly_wait(10)#等待十秒加载不出来就会抛出异常,10秒内加载出来正常返回browser.get('https://www.zhihu.com/explore') input = browser.find_element_by_class_name('zu-top-add-question') print(input)
Details: http://selenium-python.readthedocs.io/api.html# Modul -selenium.webdriver.support.expected_conditions
11. Vorwärts und Zurück – Erkennen Sie die Vorwärts- und Rückwärtsbewegungen des Browsers, um verschiedene Webseiten zu durchsuchen
from selenium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.support.ui import WebDriverWaitfrom selenium.webdriver.support import expected_conditions as EC browser = webdriver.Chrome() browser.get('https://www.taobao.com/')wait = WebDriverWait(browser, 10) input = wait.until(EC.presence_of_element_located((By.ID, 'q'))) button = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, '.btn-search'))) print(input, button)
title_is 标题是某内容
title_contains 标题包含某内容
presence_of_element_located 元素加载出,传入定位元组,如(By.ID, 'p')
visibility_of_element_located 元素可见,传入定位元组
visibility_of 可见,传入元素对象
presence_of_all_elements_located 所有元素加载出
text_to_be_present_in_element 某个元素文本包含某文字
text_to_be_present_in_element_value 某个元素值包含某文字
frame_to_be_available_and_switch_to_it frame加载并切换
invisibility_of_element_located 元素不可见
element_to_be_clickable 元素可点击
staleness_of 判断一个元素是否仍在DOM,可判断页面是否已经刷新
element_to_be_selected 元素可选择,传元素对象
element_located_to_be_selected 元素可选择,传入定位元组
element_selection_state_to_be 传入元素对象以及状态,相等返回True,否则返回False
element_located_selection_state_to_be 传入定位元组以及状态,相等返回True,否则返回False
alert_is_present 是否出现Alert
import timefrom selenium import webdriver browser = webdriver.Chrome() browser.get('https://www.baidu.com/') browser.get('https://www.taobao.com/') browser.get('https://www.python.org/') browser.back()time.sleep(1) browser.forward() browser.close()
13. Ausnahmebehandlung
from selenium import webdriver browser = webdriver.Chrome() browser.get('https://www.zhihu.com/explore') print(browser.get_cookies()) browser.add_cookie({'name': 'name', 'domain': 'www.zhihu.com', 'value': 'germey'}) print(browser.get_cookies()) browser.delete_all_cookies() print(browser.get_cookies())
Verwandte Empfehlungen:
So führen Sie eine 2D-Konvertierung über CSS3 durch
Detaillierte Erläuterung der JavaScript-Variablen und des Gültigkeitsbereichs
Detaillierte Erläuterung der Parameter der $.ajax()-Methode
Das obige ist der detaillierte Inhalt vonAusführliche Erklärung zur Verwendung von Selen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



PyCharm-Installations-Tutorial: Erlernen Sie ganz einfach die Installation von Selenium. Als Python-Entwickler müssen wir häufig verschiedene Bibliotheken und Tools von Drittanbietern verwenden, um die Projektentwicklung abzuschließen. Unter diesen ist Selenium eine sehr häufig verwendete Bibliothek für automatisierte Tests und UI-Tests von Webanwendungen. Als integrierte Entwicklungsumgebung (IDE) für die Python-Entwicklung bietet uns PyCharm eine bequeme und schnelle Möglichkeit, Python-Code zu entwickeln

Laravel-Entwicklung: Wie verwende ich LaravelDusk und Selenium für Browsertests? Da Webanwendungen immer komplexer werden, müssen wir sicherstellen, dass alle Teile davon ordnungsgemäß funktionieren. Browsertests sind eine gängige Testmethode, mit der die Korrektheit und Stabilität einer Anwendung unter verschiedenen Browsern sichergestellt werden soll. In der Laravel-Entwicklung können Sie LaravelDusk und Selenium für Browsertests verwenden. In diesem Artikel wird erläutert, wie Sie diese beiden Tools zum Testen verwenden

Verwendung von Selenium und PhantomJS in Scrapy-Crawlern Scrapy ist ein hervorragendes Webcrawler-Framework unter Python und wird häufig bei der Datenerfassung und -verarbeitung in verschiedenen Bereichen eingesetzt. Bei der Implementierung des Crawlers ist es manchmal erforderlich, Browservorgänge zu simulieren, um die von bestimmten Websites präsentierten Inhalte abzurufen. In diesem Fall werden Selenium und PhantomJS benötigt. Selenium simuliert menschliche Vorgänge im Browser und ermöglicht uns so die Automatisierung von Webanwendungstests

Überblick über die Verwendung von Selenium für Web-Automatisierungstests: Web-Automatisierungstests sind ein wichtiger Bestandteil des modernen Softwareentwicklungsprozesses. Selenium ist ein leistungsstarkes automatisiertes Testtool, das Benutzervorgänge in einem Webbrowser simulieren und automatisierte Testprozesse implementieren kann. In diesem Artikel wird die Verwendung von Selenium für Web-Automatisierungstests vorgestellt und Codebeispiele bereitgestellt, um den Lesern den schnellen Einstieg zu erleichtern. Vorbereitung der Umgebung Bevor Sie beginnen, müssen Sie die Selenium-Bibliothek und den Webbrowser-Treiber installieren

1. Idee zur Slider-Verifizierung Das Slider-Objekt des zu testenden Objekts sieht folgendermaßen aus. Relativ gesehen handelt es sich um ein relativ einfaches Formular. Sie müssen das Puzzle auf der linken Seite durch den Schieberegler unten ziehen und in den leeren Schlitz auf der rechten Seite einbetten, um die Überprüfung abzuschließen. Um diesen Überprüfungsprozess zu automatisieren, besteht der entscheidende Punkt darin, die Distanz zu bestimmen, über die der Schieber gleitet. Gemäß der obigen Analyse besteht der entscheidende Punkt der Überprüfung darin, den Gleitweg des Schiebers zu bestimmen. Aber eine scheinbar einfache Anforderung ist nicht einfach zu erfüllen. Wenn Sie diesen Prozess mit natürlicher Logik analysieren, kann er wie folgt unterteilt werden: 1. Suchen Sie die Position des Puzzles auf der linken Seite. Da Form und Größe des Puzzles festgelegt sind, müssen Sie nur den Abstand zwischen ihm ermitteln linken Rand und die linke Seite des Hintergrundbilds. (Tatsächlich ist in diesem Beispiel auch die Startposition des Puzzles festgelegt, was spart

Mit der rasanten Entwicklung der Internet-Technologie werden Webanwendungen zunehmend in unserer täglichen Arbeit und unserem Leben eingesetzt. Bei der Entwicklung von Webanwendungen ist das Crawlen von Webseitendaten eine sehr wichtige Aufgabe. Obwohl es viele Web-Scraping-Tools auf dem Markt gibt, sind diese Tools nicht sehr effizient. Um die Effizienz des Crawlens von Webseitendaten zu verbessern, können wir die Kombination von PHP und Selenium verwenden. Zuerst müssen wir verstehen, was PHP und Selenium sind. PHP ist mächtig

Schritte zur Installation von Selenium mit PyCharm: 1. Öffnen Sie PyCharm; 2. Wählen Sie „Datei“, „Einstellungen“, „Projekt: [Projektname]“ aus. 4. Klicken Sie auf der rechten Seite die Registerkarte „+“; 5. Suchen Sie im Popup-Fenster nach „Selen“ und klicken Sie auf die Schaltfläche „Installieren“ daneben. 8. Schließen Sie das Einstellungsdialogfeld.

1. Was ist Selenium? Der Webcrawler ist eine sehr nützliche Technik in der Python-Programmierung, mit der Sie automatisch Daten auf Webseiten abrufen können. Selenium ist ein automatisiertes Testtool, das Benutzervorgänge im Browser simulieren kann, z. B. das Klicken auf Schaltflächen, das Ausfüllen von Formularen usw. Im Gegensatz zu häufig verwendeten Crawler-Bibliotheken wie BeautifulSoup und Requests kann Selenium dynamisch von JavaScript geladene Inhalte verarbeiten. Daher ist Selenium eine sehr geeignete Wahl für Daten, die simuliert werden müssen, um Benutzerinteraktion zu erhalten. 2. Selenium installieren Um Selenium verwenden zu können, müssen Sie es zuerst installieren. Zur Installation können Sie den Befehl pip verwenden
