Python:Seleniu发送密钥不工作

Python:Seleniu发送密钥不工作,python,python-2.7,selenium,Python,Python 2.7,Selenium,我正在尝试在Python中使用Selenium,因为我是一个初学者,所以我无法使用send_key,但很可能这是直接的,我错了一些东西 以下是我迄今为止所做工作的一个例子: from selenium import webdriver driver = webdriver.Firefox() driver.get("https://semantria.com/demo") item = driver.find_element_by_id("analyze_url_form") item.sen

我正在尝试在Python中使用Selenium,因为我是一个初学者,所以我无法使用
send_key
,但很可能这是直接的,我错了一些东西

以下是我迄今为止所做工作的一个例子:

from selenium import webdriver

driver = webdriver.Firefox()
driver.get("https://semantria.com/demo")
item = driver.find_element_by_id("analyze_url_form")
item.send_keys("http://finance.yahoo.com/news/skystar-bio-pharmaceutical-company-provides-133000048.html")
go_button = driver.find_element_by_id("analyze_url_button")
go_button.click()
想法是在
https://semantria.com/demo
website,有一个空白区域,可以输入网站链接,然后单击
Go
按钮。 但是,我的代码似乎没有做到这一点

我做错什么了吗?这个网站是否做了一些我应该注意的事情,并相应地修改了我的代码?
非常感谢您在这方面提供的任何帮助。

问题在于,您将密钥发送到
表单
元素,而不是内部的
输入
元素

另外,您只需发送URL,并在末尾添加一行新行,该行与您输入的URL相同,然后按
ENTER
键即可提交表单。为我工作:

item = driver.find_element_by_css_selector("form#analyze_url_form input[name=link]")
item.send_keys("http://finance.yahoo.com/news/skystar-bio-pharmaceutical-company-provides-133000048.html" + "\n")
作为奖励,以下是您如何获得情绪价值(您必须通过
WebDriverWait
和预期条件让selenium知道等待什么):


打印
正片(+0.230)

太棒了,效果很好。你现在能告诉我怎么看网页返回的内容吗?谢谢。网页的全部内容在哪里而不仅仅是情绪值?@TJ1如果您需要完整的内容,请在等待完成后立即获取
驱动程序。page\u source
。希望能有帮助。谢谢alecxe是的,这非常有帮助。我真的很感激。谢谢alecxe。这是一个新问题:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC


driver = webdriver.Firefox()
driver.get("https://semantria.com/demo")

item = driver.find_element_by_css_selector("form#analyze_url_form input[name=link]")
item.send_keys("http://finance.yahoo.com/news/skystar-bio-pharmaceutical-company-provides-133000048.html" + "\n")

wait = WebDriverWait(driver, 30)

sentiment_value = wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, "strong.sentiment_score_value")))
print(sentiment_value.text)