Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';在python中似乎找不到包含selenium的元素_Python_Selenium_Web Scraping_Automation - Fatal编程技术网

Can';在python中似乎找不到包含selenium的元素

Can';在python中似乎找不到包含selenium的元素,python,selenium,web-scraping,automation,Python,Selenium,Web Scraping,Automation,我是一个新的编码员,最近我进入了网络抓取和自动化领域。我正在尝试制作一个程序,登录交易平台,搜索Facebook的股票“FB” 登录部分似乎工作正常,但搜索FB股票却不是这样。自动化过程不会在搜索栏中键入任何内容。我尝试了我所知道的所有(查找元素)方法,但仍然不起作用 帐户详细信息将在程序中,如果你想自己运行代码“请放心!”这是一个假帐户 这是我的密码: from selenium import webdriver from selenium.webdriver.common.keys impo

我是一个新的编码员,最近我进入了网络抓取和自动化领域。我正在尝试制作一个程序,登录交易平台,搜索Facebook的股票“FB”

登录部分似乎工作正常,但搜索FB股票却不是这样。自动化过程不会在搜索栏中键入任何内容。我尝试了我所知道的所有(查找元素)方法,但仍然不起作用

帐户详细信息将在程序中,如果你想自己运行代码“请放心!”这是一个假帐户

这是我的密码:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
browser = webdriver.Chrome('/Users/larskvist/downloads/chromedriver')
browser.get('https://www.forex.com/en-uk/account-login/')

username_elem = browser.find_element_by_name('Username')
username_elem.send_keys('kebababdulaziz@gmail.com')

time.sleep(0.5)

password_elem = browser.find_element_by_name('Password')
password_elem.send_keys('KEbababdulaziz')
password_elem.send_keys(Keys.ENTER)

time.sleep(5)

search_elem = browser.find_element_by_class_name('market-search__button ng-pristine ng-valid ng-touched')
search_elem.send_keys('FB')

time.sleep(30)
browser.close()
这是我不想得到的元素:

<input _ngcontent-c23="" appcustomplaceholder="" class="market-search__search-input ng-pristine ng-valid ng-touched" formcontrolname="query" type="text" placeholder="Search markets">

提前多谢

使用以下命令:

search_elem = browser.find_element_by_class_name('market-search__button)

不要使用带空格的完整类名…

您的目标元素错误。您应该将目标元素设置为
input
元素

为避免
sleep()
不必要地减慢脚本速度,最佳做法是诱导
WebDriverWait
(),并等待
元素可单击并遵循css选择器

search_elem = WebDriverWait(browser,20).until(EC.element_to_be_clickable((By.CSS_SELECTOR,"input.market-search__search-input")))
search_elem.send_keys('FB')
您需要导入以下库

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By

它似乎仍然不起作用。。。我已经像你写的那样插入了搜索元素,在网站登录后出现了这个错误,但没有在搜索栏中键入任何内容。selenium.common.exceptions.elementnotinteractiableexception:Message:element不可交互非常感谢,搜索部分工作正常。我有一些问题,我认为整个过程太快了,所以搜索元素会向媒体提出建议。但我认为我需要更多地研究这个方案,以了解为什么会发生这种情况。再次感谢!