Python selenium不检索html
我正在尝试从此网页检索所有字段: 然而,当我运行我的代码时,它甚至似乎没有检索HTML。我想知道是什么原因导致页面无法检索HTML(我使用PhantomJS.exe headless browser,但这不会有什么区别),这与iframe有什么关系吗?如果是这样,我如何使用硒来处理这个问题 我已经将selenium与phantomJS结合使用成功地从中刮取,但同样的方法似乎不适用于上述网站。请参考下面我的代码Python selenium不检索html,python,html,selenium,iframe,Python,Html,Selenium,Iframe,我正在尝试从此网页检索所有字段: 然而,当我运行我的代码时,它甚至似乎没有检索HTML。我想知道是什么原因导致页面无法检索HTML(我使用PhantomJS.exe headless browser,但这不会有什么区别),这与iframe有什么关系吗?如果是这样,我如何使用硒来处理这个问题 我已经将selenium与phantomJS结合使用成功地从中刮取,但同样的方法似乎不适用于上述网站。请参考下面我的代码 import re import math import time import r
import re
import math
import time
import requests
from lxml import html
import selenium
from selenium import webdriver
def getPageEnd(url):
payload = {
"{actionForm.checkValidRequest}": "YES",
"{actionForm.recordsPerPage}": "20",
"{actionForm.sortBy}": "1",
"{actionForm.searchType}": "Quick Search",
"{actionForm.currentPageNumber}": "1"
}
r = requests.post(url, data=payload)
tree = html.fromstring(r.text)
page_list = tree.xpath('//div[@class="searchetails"]/p/'
'span[@style="color: #b41b84;"]/text()')
page_list = re.findall('\d+', page_list[0])
page_end = page_list[-1]
page_end = int(page_end)/100.0
page_end = math.ceil(page_end) #rounding up
return int(page_end)
def jobScrape(url, pagenum):
job_link_url_prepend = "__https://www.jobsbank.gov.sg"
payload = {
"{actionForm.checkValidRequest}": "YES",
"{actionForm.recordsPerPage}": "20",
"{actionForm.sortBy}": "1",
"{actionForm.searchType}": "Quick Search",
"{actionForm.currentPageNumber}": "%s" % pagenum,
}
while True:
try:
r = requests.post(url, data=payload)
except requests.exceptions.ConnectionError as e:
print("Exception ConnectionError was caught, retrying requests...")
time.sleep(5)
else:
break
tree = html.fromstring(r.text)
cur_page_job_links = [job_link_url_prepend + i for i in
tree.xpath('//td[@class="jobDesActive"]/a/@href')]
print("Done scraping page %s" % pagenum)
return cur_page_job_links
def main():
driver = webdriver.PhantomJS(executable_path=r'E:\desktop\phantomjs.exe')
driver.set_window_size(1120, 550)
url = "https://www.jobsbank.gov.sg/ICMSPortal/portlets/JobBankHandler/SearchResult3.do"
page_start = 1
page_end = getPageEnd(url)
for pagenum in range(page_start, 2):
cur_page_job_links = jobScrape(url, str(pagenum))
with open("link.txt", 'a') as f:
for link in cur_page_job_links:
f.write("%s \n" % link)
for link in cur_page_job_links:
url = "__https://" + link
driver.get(url)
htmltext = driver.page_source
print htmltext
if __name__ == "__main__":
main()
我想这可能与想要检索JobDescription框架有关,如何使用window.document.getElementById(“frameJobDescription”)等命令来获取所需内容?您无法获取哪个元素?请发布一个.hi@JasonEstibeiro,例如,我无法获取职务描述框架,因为它位于Iframe中。@Vaulstein,我如何使用selenium检索Iframe?其他不属于iFrame的字段,如“过账日期”和“薪资”呢?实际上,我想检索该网页上的每一条数据。您可以找到一种检索Iframe内容的方法