selenium源码
⑴ python下用selenium的webdriver包如何取得打开页面的html源代码
这个可以通过浏览器自带的f12 。
或者通过鼠标右键,审计元素获得当前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的数据类型有错,希望值是字符串,提供的确实其他类型