我写了一段代码来选择页面的一个元素(有一些产品的描述):
<h2 class="box-header dgrey mt30">
Amplasare </h2>
<ul class="itemtable box-columns">
<li>
<div class="fields">Strada</div>
<div class="values">бульвар Куза-Водэ </div>
</li>
<li>
<div class="fields">Numărul casei</div>
<div class="values">20/1 </div>
</li>
<ul class="itemtable">
<li>
<div class="fields">Sectorul</div>
<div class="values">Botanica</div>
</li>
</ul> </ul>
try:
adresa = WebDriverWait(driver, 10).until(EC.visibility_of_element_located((By.XPATH, '//*[@id="anItemData"]/ul[4]')))
adresa = adresa.text
adresa = adresa.split('\n')
adresa = {k:v for k, v in zip(adresa[0::2],adresa[1::2])}
except TimeoutException:
adresa = 1
如果它在'Amplasare'行中找到了内容,它会正确地执行任务。 给出结果:
adresa = {'Sectorul': 'Botanica', 'Strada': 'бульвар Куза Водэ`, 'Numarul casei':'20/1'}
在这种情况下,它会选择页面上的其他内容,给出:
adresa = ['079 104 207']
为什么是haping,以及如何设置它以返回一个dict,其中NaN
值作为键,以防内容不显示在页面上?你知道吗
您可以尝试避免在
XPath
中使用索引,而是使用精确的文本绑定到元素:只有在页面上找到头为
"Amplasare"
的块时,才允许刮取值相关问题 更多 >
编程相关推荐