中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

西安十強(qiáng)網(wǎng)絡(luò)公司搜索引擎優(yōu)化大致包含哪些內(nèi)容或環(huán)節(jié)

西安十強(qiáng)網(wǎng)絡(luò)公司,搜索引擎優(yōu)化大致包含哪些內(nèi)容或環(huán)節(jié),最好app開發(fā)公司,網(wǎng)站關(guān)鍵詞怎么做場(chǎng)景 點(diǎn)擊添加”新增“按鈕,彈出”新增對(duì)話框“,輸入各種數(shù)據(jù),然后點(diǎn)擊”確定“按鈕,如此循環(huán)。數(shù)量多,這樣操作累人。 selenium Selenium 是一個(gè)用于自動(dòng)化 Web 瀏覽器操作的庫(kù),可以實(shí)現(xiàn)模擬點(diǎn)擊、輸入…

場(chǎng)景

點(diǎn)擊添加”新增“按鈕,彈出”新增對(duì)話框“,輸入各種數(shù)據(jù),然后點(diǎn)擊”確定“按鈕,如此循環(huán)。數(shù)量多,這樣操作累人。

selenium

Selenium 是一個(gè)用于自動(dòng)化 Web 瀏覽器操作的庫(kù),可以實(shí)現(xiàn)模擬點(diǎn)擊、輸入文本等操作。

代碼實(shí)現(xiàn)

#!/usr/bin/env python3
# -*- coding: utf-8 -*-from selenium import webdriver
from selenium.common.exceptions import ElementNotInteractableException
from selenium.common.exceptions import ElementNotSelectableException
from selenium.common.exceptions import InvalidSelectorException
from selenium.common.exceptions import NoSuchAttributeException
from selenium.common.exceptions import NoSuchElementException
from selenium.common.exceptions import NoSuchFrameException
from selenium.common.exceptions import NoSuchWindowException
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import Select
import time# 目標(biāo)頁(yè)面
target_url = "https://test.abc.com/12311/application/#/application/update/2310?mode=edit&env=prod"# 創(chuàng)建一個(gè)Chrome瀏覽器實(shí)例
#browser = webdriver.Chrome(executable_path=driver_path)
browser = webdriver.Chrome()# 打開一個(gè)網(wǎng)頁(yè)
browser.get(target_url)
time.sleep(0.5)try:# 點(diǎn)擊“快速登錄”按鈕print('模擬點(diǎn)擊“快速登錄”按鈕')browser.find_element(By.ID, "btn_quicklogin").click()time.sleep(1)print('模擬點(diǎn)擊“下一步”按鈕')# 使用 class 屬性定位button = browser.find_element(By.CSS_SELECTOR, ".footer>button")button.click()time.sleep(1)# 填充for index, metric_pair in enumerate(metric_pair_array):metric = metric_pair.split(':')print("\033[93m==============================\033[0m")print("(%d) %s" % (len(metric), metric_pair))if len(metric) == 2:metric_name = metric[0]li_element_index = index * 10print("metric_name:%s, index:%d, li_element_index:%d" % (metric_name, index, li_element_index))# 點(diǎn)擊“新增”按鈕browser.find_element(By.CSS_SELECTOR, ".table-view__operations-left>.t-button--theme-primary").click()time.sleep(1)# 中文名browser.find_element(By.CSS_SELECTOR, ".t-form-item__metric_chname .t-input__inner").send_keys(metric_name)# 英文名browser.find_element(By.CSS_SELECTOR, ".t-form-item__metric_enname .t-input__inner").send_keys(metric_name)# 類型print('點(diǎn)擊“箭頭”按鈕')browser.find_element(By.CSS_SELECTOR, ".t-form-item__type .t-input--suffix").click()li_elements = browser.find_elements(By.CSS_SELECTOR, ".t-select__dropdown .t-select__list .t-size-m") # li_elements 為大小為 4 的 listprint("type of li_elements: %s" % type(li_elements))if isinstance(li_elements, list): # 判斷元素是否為列表類型print("size of li_elements: %s" % len(li_elements))target_li = li_elements[0 + li_element_index]target_li.click()# 單位print('點(diǎn)擊“箭頭”按鈕')browser.find_element(By.CSS_SELECTOR, ".t-form-item__unit .t-input--suffix").click()li_elements = browser.find_elements(By.CSS_SELECTOR, ".t-select__dropdown .t-select__list .t-size-m") # li_elements 為大小為 10 的 list,包含了前面一步得到的 4 個(gè)print("type of li_elements: %s" % type(li_elements))if isinstance(li_elements, list):print("size of li_elements: %s" % len(li_elements))target_li = li_elements[6 + li_element_index]target_li.click()# 點(diǎn)擊“確定”按鈕browser.find_element(By.CSS_SELECTOR, ".t-dialog__footer .t-button--theme-primary").click()print("")
except ElementNotInteractableException as msg:print(u"Element not interactable: %s" % (msg))
except ElementNotSelectableException as msg:print(u"Element not selected: %s" % (msg))
except InvalidSelectorException as msg:print(u"Invalid selector: %s" % (msg))
except NoSuchAttributeException as msg:print(u"Attribute not found: %s" % (msg))
except NoSuchElementException as msg:print(u"Element not found: %s" % (msg))
except NoSuchFrameException as msg:print(u"Frame not found: %s" % (msg))
except NoSuchWindowException as msg:print(u"Window not found: %s" % (msg))
except TimeoutException as msg:print(u"Find element timeout: %s" % (msg))
else:input('按 “Enter” 鍵退出 ...')# 關(guān)閉瀏覽器
#browser.quit()

find_element

在 Selenium 中,find_element 方法用于定位頁(yè)面元素,通常與 CSS 選擇器一起使用。在 CSS 選擇器中,>和空格有著不同的含義:

  • .

這是一個(gè)類選擇器。它選擇所有具有指定類名的元素。例如 .myClass 會(huì)選擇所有具有類名 myClass 的元素。

  • >

這是一個(gè)子元素選擇器。它選擇所有直接的子元素。例如,div > p 會(huì)選擇所有 div 元素的直接子元素 p。

  • 空格

這是一個(gè)后代選擇器。它選擇所有的子元素,不僅僅是直接的子元素,還包括孫子元素、曾孫元素等。例如,div p 會(huì)選擇 div 元素下的所有 p 元素,無(wú)論p元素是 div 的直接子元素,還是更深層次的后代元素。

這兩個(gè)選擇器在定位元素時(shí)非常有用,可以幫助更精確地選擇想要的元素。如果目標(biāo)存在多個(gè),則應(yīng)當(dāng)使用 find_elements。

By.CSS_SELECTOR 和 By.CLASS_NAME

在 Selenium 中,By.CSS_SELECTOR 和 By.CLASS_NAME 都是用于定位頁(yè)面元素的方法,但它們的使用方式和目標(biāo)有所不同。

  • By.CSS_SELECTOR

這個(gè)方法允許使用 CSS 選擇器來(lái)定位頁(yè)面元素。CSS 選擇器是一種強(qiáng)大的定位方式,可以通過(guò)元素的屬性、層次結(jié)構(gòu)和偽類等來(lái)定位元素。例如,可以使用 By.CSS_SELECTOR 來(lái)定位具有特定 ID、類名、屬性或子元素的元素。

# 定位具有特定ID的元素
element = browser.find_element(By.CSS_SELECTOR, "#element_id")# 定位具有特定類名的元素
element = browser.find_element(By.CSS_SELECTOR, ".element_class")# 定位具有特定屬性的元素
element = browser.find_element(By.CSS_SELECTOR, "input[type='text']")# 定位具有特定子元素的元素
element = browser.find_element(By.CSS_SELECTOR, "div > p")
  • By.CLASS_NAME

這個(gè)方法專門用于定位具有特定類名的元素。它只能通過(guò)類名來(lái)定位元素,而不能使用其他屬性或?qū)哟谓Y(jié)構(gòu)。如果只需要根據(jù)類名來(lái)定位元素,By.CLASS_NAME 是一個(gè)簡(jiǎn)單直接的選擇。

# 定位具有特定類名的元素
element = browser.find_element(By.CLASS_NAME, "element_class")

總之,By.CSS_SELECTOR 提供了更多的靈活性和定位能力,而 By.CLASS_NAME 則專注于通過(guò)類名來(lái)定位元素。根據(jù)需求和目標(biāo)元素的特點(diǎn),可以選擇使用適當(dāng)?shù)姆椒▉?lái)定位頁(yè)面元素。

http://www.risenshineclean.com/news/4897.html

相關(guān)文章:

  • 外掛網(wǎng)站模板長(zhǎng)沙seo網(wǎng)站管理
  • 做公司網(wǎng)站搜索引擎優(yōu)化seo專員
  • ps和dw 做網(wǎng)站百度賬號(hào)怎么改名字
  • 好的做彩平圖的網(wǎng)站百度手機(jī)助手下載安裝
  • 自建免費(fèi)網(wǎng)站朋友圈廣告代理商官網(wǎng)
  • 如何用域名建網(wǎng)站策劃公司排行榜
  • 網(wǎng)站建設(shè)高清圖片百度在線客服系統(tǒng)
  • 織夢(mèng)移動(dòng)端網(wǎng)站模板下載如何在百度搜索到自己的網(wǎng)站
  • 國(guó)外 網(wǎng)站 設(shè)計(jì)發(fā)布軟文網(wǎng)站
  • 青浦教育平臺(tái)網(wǎng)站建設(shè)網(wǎng)頁(yè)制作接單平臺(tái)
  • 設(shè)計(jì)師門戶網(wǎng)站程序必應(yīng)搜索網(wǎng)站
  • 招遠(yuǎn)網(wǎng)站定制北大青鳥培訓(xùn)機(jī)構(gòu)靠譜嗎
  • 專業(yè)網(wǎng)站建設(shè)顧問(wèn)長(zhǎng)沙網(wǎng)站托管seo優(yōu)化公司
  • 遂寧做網(wǎng)站2022百度收錄越來(lái)越難了
  • 網(wǎng)站制作費(fèi)會(huì)計(jì)分錄怎么做企業(yè)網(wǎng)站推廣方法
  • 做公益做的好的的網(wǎng)站上海外貿(mào)網(wǎng)站seo
  • 住房和城鄉(xiāng)建設(shè)部監(jiān)理工程師網(wǎng)站關(guān)鍵詞推廣方式
  • 蘇州公司技術(shù)支持 蘇州網(wǎng)站建設(shè)百度收錄什么意思
  • 網(wǎng)站統(tǒng)計(jì)開放平臺(tái)近期新聞熱點(diǎn)大事件
  • wordpress 箭頭翻頁(yè)seo牛人
  • 哪里學(xué)網(wǎng)站建設(shè)與管理網(wǎng)絡(luò)軟文發(fā)布平臺(tái)
  • 沈陽(yáng)個(gè)人做網(wǎng)站推廣網(wǎng)站哪個(gè)好
  • 做商城網(wǎng)站的公司app營(yíng)銷推廣方案
  • 南潯哪有做網(wǎng)站的網(wǎng)絡(luò)推廣工具
  • 蘭州最新大事電腦優(yōu)化用什么軟件好
  • wordpress 小說(shuō)站主題百度賬號(hào)人工客服電話
  • 云服務(wù)器是什么站長(zhǎng)工具seo綜合查詢推廣
  • 本地服務(wù)器網(wǎng)站建設(shè)google推廣怎么做
  • 網(wǎng)站別人給我做的備案 我能更改嗎外包推廣服務(wù)
  • 用jsp和mysql做網(wǎng)站短視頻怎么賺錢