Python 如何从网站中提取文本信息?
我正试图从这个网站中提取某些文本字段,但对angular来说是新的。我正在使用selenium构建这个web刮板。我注意到html代码中没有存储确切的文本值。有没有人能帮上忙,或者提供一些建议。我尝试使用:Python 如何从网站中提取文本信息?,python,html,angularjs,selenium,web-scraping,Python,Html,Angularjs,Selenium,Web Scraping,我正试图从这个网站中提取某些文本字段,但对angular来说是新的。我正在使用selenium构建这个web刮板。我注意到html代码中没有存储确切的文本值。有没有人能帮上忙,或者提供一些建议。我尝试使用: find_element_by_id find_element_by_name find_element_by_xpath find_element_by_link_text find_element_by_partial_link_text find_element_by_tag_name
find_element_by_id
find_element_by_name
find_element_by_xpath
find_element_by_link_text
find_element_by_partial_link_text
find_element_by_tag_name
find_element_by_class_name
find_element_by_css_selector
但是没有任何进展。谢谢各位:
这是我试图提取文本的一种方法:
def csc:
alpah_list=[A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P]
indexOfAlpha=0
索引表=2
对于范围为2,4的x:
y=x+2
driver.implicitly_wait20
兰斯利普
驱动程序。通过xpath'/html/body/div[1]/div[2]/div/div/div[1]/div[1]/div[2]/div/div/div/div[2]/div[2]/div/div['+strx+']/div/div/div[6]/a]查找元素。单击
driver.implicitly_wait20
工作表.writeAppah\u列表[indexOfAlpha]+strindexOfSheet,strdriver.find\u elementBy.CSS\u选择器输入[class='edited_field ng pristine ng ng untouched ng valid ng not empty'][ng model='tab.content.site.name']
兰斯利普
驱动程序。通过xpath“/html/body/div[1]/div[2]/div/div/ul/li[2]/a/span”查找元素。单击
兰斯利普
索引表+=1
但我在终端上发现了这个错误
回溯最近一次呼叫上次:
文件selTest.py,第88行,在
csc
csc中的文件selTest.py,第44行
工作表.WriteAppah_列表[indexOfAlpha]+strindexOfSheet,驱动程序.find_elementBy.cssSelectorinput[class='已编辑的字段ng原始ng未触及ng有效ng不为空'][ng model='tab.content.site.name']
AttributeError:type对象“By”没有属性“cssSelector”
Shahans MacBook Pro:WebScraping Shahan$python3 selTest.py
回溯最近一次呼叫上次:
文件selTest.py,第88行,在
csc
csc中的文件selTest.py,第44行
工作表.writeAppah\u列表[indexOfAlpha]+strindexOfSheet,驱动程序.find\u elementBy.CSS\u选择器输入[class='edited_field ng pristine ng ng untouched ng valid ng not empty'][ng model='tab.content.site.name']
TypeError:“str”对象不可调用
Shahans MacBook Pro:WebScraping Shahan$python3 selTest.py
回溯最近一次呼叫上次:
文件selTest.py,第88行,在
csc
csc中的文件selTest.py,第44行
工作表.writeAppah\u列表[indexOfAlpha]+strindexOfSheet,strdriver.find\u elementBy.CSS\u选择器输入[class='edited_field ng pristine ng ng untouched ng valid ng not empty'][ng model='tab.content.site.name']
TypeError:“str”对象不可调用
很抱歉,我将无法共享该网站,因为它需要私人登录
当前错误抱怨有关复合类名。试一试
driver.find_element_by_css_selector('input.edited_field.ng-pristine.ng-untouched.ng-valid.ng-not-empty'))
您可能还需要一个等待条件,并且可能可以缩短选择器以使用较少的类。您是否尝试了driver.execute_scriptarguments[0]。值,元素?我将如何使用它请阅读为什么使用。考虑使用格式化的基于文本的相关HTML、代码试验和错误堆栈跟踪更新问题。如何使用这些方法比使用的方法更重要。发布不起作用的完整代码片段以及错误消息。Thank将立即更新:0即使在我添加了驱动程序后,此代码片段也不起作用。隐式地等待10您需要比不起作用更具描述性这是我在终端selenium.common.exceptions.NosTouchElementException上遇到的错误。消息:没有这样的元素:无法找到元素:{方法:css选择器,选择器:input.edited_field.ng-pristine.ng-untouched.ng-valid ng not empty}请将相关html编辑到您的问题中。使用snippet工具插入我看到的非图像。Thiose错误不是来自我的代码,而是来自您现有的代码。从表面上看,有几个问题需要解决。