gpt4 book ai didi

Python:Selenium send_key 不起作用

转载 作者:行者123 更新时间:2023-11-30 23:05:41 28 4
gpt4 key购买 nike

我正在尝试在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 网站中,有一个空白区域,可以输入网站链接,然后单击 Go 按钮。但是,看起来我的代码没有执行此操作。

我做错了什么吗?该网站是否做了一些我应该注意的事情并相应地更改了我的代码?非常感谢对此的任何帮助。

最佳答案

问题是您将 key 发送到 form 元素,而不是内部的 input 元素。

此外,您只需发送末尾换行的 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 知道要等待什么):

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)

打印正数 (+0.230)

关于Python:Selenium send_key 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33049808/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com