From 33f1eb58395bc46901a7e3850ab32b34b665c36e Mon Sep 17 00:00:00 2001 From: donggela Date: Thu, 25 May 2023 16:08:35 +0800 Subject: [PATCH] =?UTF-8?q?selenium=E6=A8=A1=E6=8B=9F=E7=99=BE=E5=BA=A6?= =?UTF-8?q?=E6=90=9C=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- selenium_demo.py | 53 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 selenium_demo.py diff --git a/selenium_demo.py b/selenium_demo.py new file mode 100644 index 0000000..402002f --- /dev/null +++ b/selenium_demo.py @@ -0,0 +1,53 @@ +from selenium import webdriver +from selenium.webdriver.common.by import By +import time +def open_driver(): + option = webdriver.EdgeOptions() + option.add_experimental_option("detach",True) + option.add_experimental_option('excludeSwitches', ['enable-automation']) # 此步骤很重要,设置为开发者模式,防止被各大网站识别出来使用了Selenium + edge = webdriver.Edge(options=option) + edge.maximize_window() + edge.get("https://www.baidu.com") + # 判断“百度一下”在网页的标题上 + assert "百度一下" in edge.title + # ele = edge.find_element(By.ID,"kw") + + # edge.find_element_by_id('kw') + return edge + +def search(driver): + input_ele = driver.find_element(By.ID,"kw") + input_ele.clear() + input_ele.send_keys("程序猿小董") + button = driver.find_element(By.ID,"su") + button.click() + driver.implicitly_wait(10) + # driver.find_elements(By.CLASS_NAME,"") + results = driver.find_elements(By.CSS_SELECTOR,".t a , em , .c-title-text") + for result in results: + if result.get_attribute("href"): + if "-" not in result.get_attribute("text"): + # 搜索结果的标题 + title = result.get_attribute("text").strip() + # 搜索结果的网址 + link = result.get_attribute("href") + print(driver.title) + print(driver.current_url) + print(driver.window_handles) + result.click() + print(driver.window_handles) + driver.switch_to.window(driver.window_handles[-1]) + print(driver.title) + print(driver.current_url) + #滚动到目的元素 + # ele = driver.find_element(By.CLASS_NAME,"tw0jb") + # driver.execute_script("arguments[0].scrollIntoView();",ele) + #向下滚动1000像素 + driver.execute_script("window.scrollBy(0,1000)") + time.sleep(60) + driver.switch_to.window(driver.window_handles[0]) + print(driver.title) + print(driver.current_url) + +driver = open_driver() +search(driver) -- GitLab