注意,这是关于python3的新手探讨,写这个之前我已经找了十几分钟百度了,实在是搞不懂那些大佬是怎么想的,老是喜欢讲一下定位方法,我只想说这在开发者工具里面学是最好的,我这里是用xpath直接定位文本产生的错误,如果你也出现错误了,那估计八九不离十也是这个错误了,这是语法错误,因为selenium所有的定位方法都是基于find_element,看名字,那就是找web元素的,而text是一个目标文本[object Text]
不能直接用find_element寻找,如果懂scrapy的会知道scrapy的xpath方法是可以直接找到目标文本的,换句话说就是形如我这种//*[@id="main"]/div/div[2]/ul/li[1]/div/div[1]/p/text()的xpath不能直接用于find_element
也用了by_ink_text(), 其余的也没意思去试了,就是定位不到元素---“元素”, Message: no such element:但是到开发者工具可以找到,也不是什么隐藏不隐藏,//*[@id="main"]/div/div[2]/ul/li[1]/div/div[1]/p直接找到p节点直接.text输出可以得到文本,主要就是在一个标签被其强行用了两个子标签隔开了
<p>深圳 <em class="vline"></em>1-3年<em class="vline"></em>本科</p>
对于这种文本的分别提取,1可以直接用正则表达式
2可以通过.text()获取所有的文本,然后在对获取到的文本进行分割
如果看到了我的文章,你基本上放弃吧,我知道你也估计也是将selenium定位到的标签内的文本--被其他标签分割的,给分别提取出来,我现在告诉你,只用selenium你是可以直接放弃这种想法