【发布时间】:2019-04-29 22:44:00
【问题描述】:
我是 Python 和 Selenium 的新手,我正在从网站抓取信息。有些项目没有适当的 div 类来提供正常的脚本功能。我需要将 xpath 语句的输出分开,不包含来自 h2 部分的文本值。
我已经重写了循环体和 xpath 语句。
elif driver.find_element_by_xpath("//span[@class='italic']").text == "Chapter":
test = driver.find_element_by_xpath("//a[@class='strong']")
test.click()
elem4 = driver.find_elements_by_xpath('//div[@class="work_identifiers_type_txt"] | //h2[@class="font18 strong inline"]')[0].text
elem5 = f"ISBN={{{f'{elem4}'}}}}}"
driver.back()
file.write(f'{elem2}, ' + f'{elem5}')
file.write('\n\n,\n')
driver.back()
driver.implicitly_wait(5)
带 h2 的 Div:
<div class="col-sm-12">
<h2 class="font18 strong inline">
</h2>
<span class="italic">
</span>
</div>
我只想将 xpath 语句 (div) 中第一部分的文本写入变量(和文件)。这个字符串的第二部分应该可以写一些东西到文件中,例如。
file.write(f'{elem2}')
file.write('\n\n,\n')
driver.back()
driver.implicitly_wait(5)
现在 xpath 语句交替写入文件一次 div 和一次 h2 值(如果缺少一个标记)。
【问题讨论】:
-
欢迎来到 SO。你能分享其中包含 h2 的 div 元素的 html 吗?我有 2 个选项来处理它,但要确保分享最适合您的情况。
-
@supputuri div with h2 添加到帖子中,感谢您的热烈欢迎。
-
您是否只希望 div 中的文本不包括 h2 和 span 中的文本?还是 div > span 中的文本?
-
我只需要来自 h2 的文本。我使用那个 h2 像一个“虚拟”标签来导入例如。关于一本书的信息(检查它是否在列表中)。
-
感谢您的帮助!它有效。
标签: python python-3.x selenium