當前位置:首頁 » 操作系統 » selenium源碼

selenium源碼

發布時間: 2022-07-10 04:09:25

python下用selenium的webdriver包如何取得打開頁面的html源代碼

  1. 這個可以通過瀏覽器自帶的f12 。

  2. 或者通過滑鼠右鍵,審計元素獲得當前html源代碼。

⑵ selenium的webdriver獲取的是源碼

selenium的projects包含如下幾個方面: 1.Selenium IDE 、 2.Selenium Remote Control 、 3.Selenium Grid 、4.Selenium WebDriver 1. Selenium IDE作為Firefox上的一個插件,提供錄制功能,個人觀點,如果能手寫代碼,就不要用這個東西。

⑶ python,求一個簡單的selenium+re的網頁源碼爬取

網頁爬取不一定要用Selenium,Selenium是為了注入瀏覽器獲取點擊行為的調試工具,如果網頁無需人工交互就可以抓取,不建議你使用selenium。要使用它,你需要安裝一個工具軟體,使用Chrome瀏覽器需要下載chromedriver.exe到system32下,如使用firefox則要下載geckodriver.exe到system32下。下面以chromedriver驅動chrome為例:

#-*-coding:UTF-8-*-
fromseleniumimportwebdriver
frombs4importBeautifulSoup
importre
importtime

if__name__=='__main__':

options=webdriver.ChromeOptions()
options.add_argument('user-agent="Mozilla/5.0(Linux;Android4.0.4;GalaxyNexusBuild/IMM76B)AppleWebKit/535.19(KHTML,likeGecko)Chrome/18.0.1025.133MobileSafari/535.19"')
driver=webdriver.Chrome()
driver.get('url')#你要抓取網路文庫的URL,隨便找個幾十頁的替換掉

html=driver.page_source
bf1=BeautifulSoup(html,'lxml')
result=bf1.find_all(class_='rtcspage')
bf2=BeautifulSoup(str(result[0]),'lxml')
title=bf2.div.div.h1.string
pagenum=bf2.find_all(class_='size')
pagenum=BeautifulSoup(str(pagenum),'lxml').span.string
pagepattern=re.compile('頁數:(d+)頁')
num=int(pagepattern.findall(pagenum)[0])
print('文章標題:%s'%title)
print('文章頁數:%d'%num)


whileTrue:
num=num/5.0
html=driver.page_source
bf1=BeautifulSoup(html,'lxml')
result=bf1.find_all(class_='rtcspage')
foreach_resultinresult:
bf2=BeautifulSoup(str(each_result),'lxml')
texts=bf2.find_all('p')
foreach_textintexts:
main_body=BeautifulSoup(str(each_text),'lxml')
foreachinmain_body.find_all(True):
ifeach.name=='span':
print(each.string.replace('xa0',''),end='')
elifeach.name=='br':
print('')
print(' ')
ifnum>1:
page=driver.find_elements_by_xpath("//div[@class='page']")
driver.execute_script('arguments[0].scrollIntoView();',page[-1])#拖動到可見的元素去
nextpage=driver.find_element_by_xpath("//a[@data-fun='next']")
nextpage.click()
time.sleep(3)
else:
break

執行代碼,chromedriver自動為你打開chrome瀏覽器,此時你翻頁到最後,點擊閱讀更多,然後等一段時間後關閉瀏覽器,代碼繼續執行。

⑷ python selenium如何點擊頁面table列表中的元素

1.通過selenium定位方式(id、name、xpath等方式)定位table標簽
#html源碼<table border="5" id="table1" width="80%">#selenium操作代碼table1=driver.find_element_by_id('table1')

2.獲取總行數(也就是獲取tr標簽的個數)
#html源碼<tr><th>姓名</th><th>性別</th></tr>#selenium操作源碼
table_rows = table1.find_elements_by_tag_name('tr')

3.獲取總列數(也就是tr標簽下面的th標簽個數)
#html源碼<tr><th>姓名</th><th>性別</th></tr>#selenium操作源碼:第一個tr標簽下有多少個th
table_rows = table_rows[0].find_elements_by_tag_name('th')

4.獲取單個cell值
#selenium操作源碼:第一行第二列的text值row1_col2 = table_rows[1].find_elements_by_tag_name('td')[1].text

5.取值比對~

⑸ python selenium page_source 獲取的html源碼跟看到的不一樣

page_source 得到的是靜態源代碼,不含js內容
需要使用find_element_by 等方法定位元素獲取

⑹ 源碼里有的東西,為什麼我用selenium提取不到

有網友碰到過這樣的如何用python的selenium提取頁面所有資源載入的鏈接,問題詳細內容為:如何用python的selenium提取頁面所有資源載入的鏈接,我搜你通過互聯網收集了相關的一些解決方案,希望對有過相同或者相似問題的網友提供幫助,具體如下:
解決方案1:
用瀏覽器打開你那個連接(完整載入),通過 查看源 找到你要的數據(記住標記,比如某個元素),selenium+python獲取到頁面代碼再去判斷查找你的標記就知道是否載入完了。

用python selenium提取網頁中的所有<a>標簽中的超...
答:提取所有鏈接應該用循環: urls = driver.find_elements_by_xpath("//a")for url in urls: print(url.get_attribute("href"))如果get_attribute方法報錯應該是沒有找到a標簽對象,如果確定是有的話,可能是頁面載入比較慢還沒載入出來,selenium...
如何用python的selenium提取頁面所有資源載入的鏈接
答:用瀏覽器打開你那個連接(完整載入),通過 查看源 找到你要的數據(記住標記,比如某個元素),selenium+python獲取到頁面代碼再去判斷查找你的標記就知道是否載入完了

⑺ python用selenium獲取網頁的源碼,如何放在re里。我的錯誤代碼如下:

給re的數據類型有錯,希望值是字元串,提供的確實其他類型

熱點內容
冰火ftp 發布:2024-11-20 07:14:35 瀏覽:89
android實時視頻播放 發布:2024-11-20 07:11:18 瀏覽:103
oracle存儲過程數組定義 發布:2024-11-20 07:11:17 瀏覽:844
64的匯編編譯器 發布:2024-11-20 07:05:43 瀏覽:856
保定市後推式存儲貨架哪裡買 發布:2024-11-20 07:03:25 瀏覽:556
家用suv適合什麼配置 發布:2024-11-20 07:01:45 瀏覽:818
java免費課程 發布:2024-11-20 06:54:14 瀏覽:264
手機可以直接升級方舟編譯器嗎 發布:2024-11-20 06:53:35 瀏覽:285
成都plc編程培訓 發布:2024-11-20 06:47:45 瀏覽:412
百奧泰的格樂立在運輸存儲過程中 發布:2024-11-20 06:46:14 瀏覽:123