我是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)


div与h2:

<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值一次写入文件(如果缺少一个标记)。

最佳答案

尝试直接使用下面的命令获取h2文本。

h2Text= driver.find_element_by_xpath("//h2[@class='font18 strong inline']").text

10-06 00:54