我编写了一个脚本来使用python和selenium从网页中抓取文档。但是,我唯一遇到的就是打印这个值。由于硒不支持文本中的索引,我无法进一步思考以实现此目的。看看我的代码你将会知道我的意思。我已经评论出要纠正的两条线。提前致谢。这是我到目前为止所写的内容:
<ItemsControl ItemsSource="{Binding Path=MyLabelList}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="*" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
</Grid>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemContainerStyle>
<Style TargetType="ContentPresenter">
<Setter Property="Grid.Column" Value="{Binding columnNr}" />
<Setter Property="Grid.Row" Value="{Binding rowNr}" />
</Style>
</ItemsControl.ItemContainerStyle>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Label Content="{Binding content}" />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
答案 0 :(得分:1)
尝试以下代码,如有任何问题,请与我联系:
Name = driver.execute_script('return arguments[0].childNodes[1].textContent', docs) # To get Name text value
Address = driver.execute_script('return arguments[0].childNodes[3].textContent', docs) # To get Address text value
答案 1 :(得分:0)
您的注释表达式正在检索webelements。我假设只有一个名称,所以代码应该使用find_element_by_xpath(不带“s”)。如果您想要这些元素中显示的文本,请询问该属性:
Name = docs.find_element_by_xpath('//div[@id="schoolDetail"]/text()[1]').text
Address = docs.find_element_by_xpath('//div[@id="schoolDetail"]/text()[2]').text