我使用python3.x脚本将字符串保存到文本文件中:
nN = "hello"
f = open("file.txt", "w")
f.write(nN)
f.close()
现在我正在尝试从网站解析h2元素的内容(页面抓取工作正常),我在尝试时遇到错误:
nN = driver.find_element_by_id("title")
f = open("file.txt", "w")
f.write(nN)
f.close()
html行是:
<h2 id="title">hello</h2>
错误是:
write()参数必须是str,而不是WebElement
我尝试使用以下内容将nN转换为字符串:
f.write(str(nN))
,新错误是:
语法无效
答案 0 :(得分:1)
看起来您正在使用Selenium,然后使用webdriver解析html内容?
字符串转换不起作用的原因是因为nN
是Selenium / html对象,可能是字典或列表。你可以简单地尝试f.write(nN.text)
,根据文档,nN的.text版本应该可以工作。
对于解析html的更大问题,我建议使用Beautiful Soup。执行pip3 install BeautifulSoup4
然后导入from bs4 import BeautifulSoup
。然后作为例子:
with open('file.html','r') as f:
htmltext = f # change as necessary, just needs to be string
soup = BeautifulSoup(htmltext,'lxml')
h2found = soup.find('h2',id="title")
print(h2found)
print(h2found.text)
Beautiful Soup有great documentation,是用于解析html的标准和最佳库。