【发布时间】:2020-07-09 13:35:14
【问题描述】:
我的 excel 上有一个书籍清单,对于每本书,我想用摘要填写一列。为此,我要去goodreads.com,搜索“哈利波特”打开第一个结果,然后复制粘贴摘要文本。但是,无法获取第一个搜索结果的链接。这是我的代码。我参考的链接:Python Selenium - get href value
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver=webdriver.Chrome()
driver.get('https://goodreads.com')
loginbox=driver.find_element_by_xpath('//*[@id="userSignInFormEmail"]')
loginbox.send_keys('shivam01anand@gmail.com')
passwordbox=driver.find_element_by_xpath('//*[@id="user_password"]')
passwordbox.send_keys('shivam03')
loginButton=driver.find_element_by_xpath('//*[@id="sign_in"]/div[3]/input[1]')
loginButton.click()
searchbox=driver.find_element_by_xpath('/html/body/div[2]/div/header/div[2]/div/div[2]/form/input[1]')
searchbox.send_keys('harry potter')
searchButton=driver.find_element_by_xpath('/html/body/div[2]/div/header/div[2]/div/div[2]/form/button')
searchButton.click()
elem=driver.find_element_by_css_selector("bookTitle").get_attribute("href")
print(elem)
#elem = driver.find_element_by_css_selector("bookTitle [href]")
Error: NoSuchElementException: no such element: Unable to locate element: {"method":"xpath","selector":"/html/body/div[2]/div/header/div[2]/div/div[2]/form/input[1]"}
(Session info: chrome=83.0.4103.116)
此错误仅在我编写 elem 行时出现,这很奇怪,因为错误是前一行。完全糊涂了。
【问题讨论】:
-
您在此处共享凭据?点击提交登录后,可能需要等待。
-
不,当我不做最后一行时,哈利波特的行会起作用
-
@ShivamAnand 请不要更改您已收到经过充分研究的答案的问题。一旦您收到规范答案,更改问题可能会使所有现有答案无效,并且可能对未来的读者没有用处。如果您的要求发生了变化,请随时提出一个新问题。 StackOverflow 贡献者将很乐意为您提供帮助。目前我已将问题恢复到初始状态。
标签: python selenium xpath css-selectors webdriverwait