我试图从一个网站(确实是.com)检索文本,但由于某种原因,即使我使用了正确的ID和类,我也无法检索它
这是HTML的外观:
<div id="jobDescriptionText" class="jobsearch-jobDescriptionText">
该网站在不同的时间有不同的类和id,所以我试图通过在try-except块中基于HTML添加不同的id和类来解释它。只有当上面的html行弹出时,我才会遇到获取文本的麻烦。这是代码的一部分:
try:
for i in range(14):
postings=driver.find_elements_by_class_name('result')
except:
print('Error in retrieving postings')
counts=0
rate=[]
for job in postings:
try:
result_html = job.get_attribute('innerHTML')
soup = BeautifulSoup(result_html, 'html.parser')
except:
print('Error in retreiving job from postings')
sleep(randint(10,15))
while True:
try: #retreiving text
try:
job.click()
driver.implicitly_wait(7)
description0=(driver.find_element_by_id('vjs-content').text)
counts=counts+1
break
except Exception as e:
job.click()
driver.implicitly_wait(7)
description0=(driver.find_element_by_id('vjs-desc').text)
counts=counts+1
break
try:
job.click()
driver.implicitly_wait(7)
description0=(driver.find_element_by_id('jobDescriptionText').text)
counts=counts+1
break
except Exception as e:
job.click()
driver.implicitly_wait(7)
description0=(driver.find_element_by_class('jobsearch-jobDescriptionText').text)
counts=counts+1
break
except:
print("Error in retreiving description for listing")
break
当你打电话的时候
HTML中没有
result
类名如果
result
类位于父类上,则需要选择该父类的子元素以在for job in postings
中使用,否则将只找到一个“container”元素,该元素没有预期的文本如果您共享了正确的HTML:
它没有任何文本
因此,对它们调用
.text
没有任何意义。而是有一个正确的定位器,在HTML DOM中可以看到其中的文本相关问题 更多 >
编程相关推荐