无法找到元素:Python搜寻中的CSS选择器或xpath

时间:2018-08-19 15:11:11

标签: python selenium-webdriver xpath css-selectors web-crawler

我想让python爬行。我已经登录该网站,并想要send_keys(keyword)并单击按钮。我尝试找到css选择器或xpath,但是出现以下错误。

from selenium import webdriver as wd
import time

main_url2 = 'https://manage.searchad.naver.com/customers/668860/tool/keyword-planner'

driver.find_element_by_xpath('//*[@id="wrap"]/div/div/div[1]/div[1]/div/div/div/div[2]/div[1]/div[1]/div[2]/form/div[1]/div/div/textarea').send_keys(keyword)

keyword ='모기퇴치기'

这是如下的错误消息

  

selenium.common.exceptions.NoSuchElementException:消息:没有这样的消息   元素:无法找到元素:   {“方法”:“ xpath”,“选择器”:“ // * [@ id =” wrap“] / div / div / div 1 / div 1 / div / div / div / div [2] / div 1 / div 1 / div [2] / form / div 1 / div / div / textarea“}   (会话信息:chrome = 68.0.3440.106)(驱动程序信息:   chromedriver = 2.41.578737   (49da6702b16031c40d63e5618de03a32ff6c197e),平台= Windows NT   10.0.16299 x86_64)

这是chrome驱动程序的网站和资源的图像。

enter image description here

1 个答案:

答案 0 :(得分:0)

我有类似的问题,但这是比赛条件。驱动程序必须等待特定事件显示在页面中,然后才能访问或发送密钥。

尝试此代码

try{
     Thread.Sleep(5000);
 }catch(Expression ex){
     system.out.print(ex.getmessage());
 }

在发送密钥之前

或仅将Thread.sleep(5000);放在首位

注:5秒或5000毫秒内为5000 首先尝试较大的数字,例如10000毫秒,然后减少时间。