Python Selenium无法识别来自google的搜索结果

Python Selenium无法识别来自google的搜索结果,python,google-chrome,selenium,web-scraping,Python,Google Chrome,Selenium,Web Scraping,嘿,我看了2到3个小时,没有发现任何对我有帮助的东西。 我想让python在谷歌搜索栏上键入一些东西并复制结果 <div id="resultStats">Ungefähr 4.440.000 Ergebnisse<nobr> #that resultstats the text i want to copy the text which is inside >< 错误: DevTools listening on ws://127.0.0.1:12366

嘿,我看了2到3个小时,没有发现任何对我有帮助的东西。 我想让python在谷歌搜索栏上键入一些东西并复制结果

<div id="resultStats">Ungefähr 4.440.000 Ergebnisse<nobr> 
#that resultstats the text i want to copy the text which is inside ><
错误:

DevTools listening on ws://127.0.0.1:12366/devtools/browser/cc7779e1-c661-4adc-91e4-067b256718db
Traceback (most recent call last):
  File "c:./niche.py", line 34, in <module>
    test.find_element_by_xpath('//*[@id="resultStats"]/text()').send_keys(Keys.CONTROL + 'v')
  File "C:.\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 385, in find_element_by_xpath
    return self.find_element(by=By.XPATH, value=xpath)
  File "C:.\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 955, in find_element
    'value': value})['value']
  File "C:.\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 312, in execute
    self.error_handler.check_response(response)
  File "C:.\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.InvalidSelectorException: Message: invalid selector: The result of the xpath expression "//*[@id="resultStats"]/text()" is: [object Text]. It should be an
element.
  (Session info: chrome=65.0.3325.181)
  (Driver info: chromedriver=2.37.544315 (730aa6a5fdba159ac9f4c1e8cbc59bf1b5ce12b7),platform=Windows NT 10.0.16299 x86_64)
DevTools在ws://127.0.0.1:12366/DevTools/browser/cc7779e1-c661-4adc-91e4-067b256718db上侦听
回溯(最近一次呼叫最后一次):
文件“c:./niche.py”,第34行,在
测试。通过xpath('/*[@id=“resultStats”]/text()')查找元素。发送密钥(keys.CONTROL+'v')
文件“C:.\AppData\Local\Programs\Python\Python36-32\lib\site packages\selenium\webdriver\remote\webdriver.py”,第385行,按xpath查找元素
返回self.find_元素(by=by.XPATH,value=XPATH)
文件“C:.\AppData\Local\Programs\Python36-32\lib\site packages\selenium\webdriver\remote\webdriver.py”,第955行,在find\u元素中
'value':value})['value']
文件“C:.\AppData\Local\Programs\Python\Python36-32\lib\site packages\selenium\webdriver\remote\webdriver.py”,第312行,在execute中
self.error\u handler.check\u响应(响应)
文件“C:.\AppData\Local\Programs\Python\Python36-32\lib\site packages\selenium\webdriver\remote\errorhandler.py”,第242行,在检查响应中
引发异常类(消息、屏幕、堆栈跟踪)
selenium.common.exceptions.InvalidSelectorException:消息:无效选择器:xpath表达式“/*[@id=“resultStats”]/text()”的结果为:[对象文本]。它应该是一个
元素。
(会话信息:chrome=65.0.3325.181)
(驱动程序信息:chromedriver=2.37.544315(730aa6a5fdba159ac9f4c1e8cbc59bf1b5ce12b7),平台=Windows NT 10.0.16299 x8664)

提前感谢:D

您可以找到您的字符串并按如下方式打印:

yourText = test.find_element_by_xpath('//*[@id="resultStats"]').text

print(yourText)

您可以找到您的字符串并按如下方式打印:

yourText = test.find_element_by_xpath('//*[@id="resultStats"]').text

print(yourText)

尝试使用id来定位元素:

driver.find_element_by_id('resultStats')
下面是一个完整的工作示例:

from selenium import webdriver

# create your webdriver
driver = webdriver.Chrome()

# open google
driver.get('http://www.google.com')

# locate the search field
search_box = driver.find_element_by_name('q')

# type "foo" into search field
search_box.send_keys('foo')

# execute a search
search_box.submit()

# locate the resultStats element
result_stats = driver.find_element_by_id('resultStats')

# print the text of resultStats
print(result_stats.text)
这将打印:


大约27000000个结果(0.39秒)
尝试使用id定位元素:

driver.find_element_by_id('resultStats')
下面是一个完整的工作示例:

from selenium import webdriver

# create your webdriver
driver = webdriver.Chrome()

# open google
driver.get('http://www.google.com')

# locate the search field
search_box = driver.find_element_by_name('q')

# type "foo" into search field
search_box.send_keys('foo')

# execute a search
search_box.submit()

# locate the resultStats element
result_stats = driver.find_element_by_id('resultStats')

# print the text of resultStats
print(result_stats.text)
这将打印:


大约27000000个结果(0.39秒)

你所说的
复制结果到底是什么意思
?我想把它粘贴到谷歌电子表格中,但这不是主要问题,我以后会想办法^^^^就像你在谷歌中键入“123123”一样,然后假设搜索结果是大约100个结果,我想复制“大约100个结果”或者更好,只是“100”100个结果中的每一个都由一组不同的元素组成,例如div、img、anchor、text等。你到底想复制什么?你想复制到哪里?#resultStats{位置:绝对;顶部:0;-webkit转换:所有220ms易入易出}.hdtb-ab-o#结果状态{不透明度:0;顶部:13px;}>>>>Ungefähr 4.440.000 Ergebnissew你所说的复制结果到底是什么意思?我想把它粘贴到谷歌电子表格中,但这不是主要的问题,我以后会想办法,比如如果你在谷歌中键入“123123”,那么假设搜索结果大约是100个结果,我想复制“大约100个结果”“s”或更好——100个结果中的每一个都由一组不同的元素组成,例如div、img、anchor、text等。您到底想复制什么以及要复制到哪里?#resultStats{position:absolute;top:0;-webkit transition:all 220ms ease in-out}。hdtb-ab-o#resultStats{opacity:0;top:13px;}>>>>Ungefähr 4.440.000 ErgebnisseSir你能帮我识别包含
Ungefähr
Ergebnisse
:)@CoreyGoldberg非常感谢^^^->DebanjanB是的,它是德语Ungefähr=近似意大利,估计或大约-它意味着一个不是确切数字的数字,Ergebnisse=results@CoreyGoldberg谢谢,KaanDev我只是不明白这些词是什么。算你自己是科里回答的最幸运的一个:)先生,你能帮我识别包含
Ungefähr
Ergebnisse
:)@CoreyGoldberg非常感谢^^^->德班詹布是的,它是德语Ungefähr=接近意大利,估计或大约-它意味着一个数字h不是确切的数字,Ergebnisse=results@CoreyGoldberg谢谢。卡安多夫,我只是不明白这些话是什么。你算是最幸运的一个得到科里回答的人:)