2 回答

TA貢獻1951條經驗 獲得超3個贊
除了這一行之外,您已經完成了頂部共享代碼中的所有操作:search.submit()。當您調用submit()Web 元素的方法時,您定義的元素搜索不是形式而是它的形式Textarea,因此NoSuchElementException。因為submit方法只適用于form元素類型。如果刪除這一行,您的代碼將正常工作。
從硒導入網絡驅動程序
query = ' I want to try to translate this text'
chrome_options = webdriver.ChromeOptions('/chromedriver')
driver = webdriver.Chrome()
driver.get('https://translate.google.com/')
search = driver.find_element_by_css_selector('#source')
search.send_keys(query)
輸出

TA貢獻1804條經驗 獲得超3個贊
<textarea id="source" class="orig tlid-source-text-input goog-textarea" rows="1" spellcheck="false" autocapitalize="off" autocomplete="off" autocorrect="off" style="overflow: auto hidden; box-sizing: border-box; height: 70px; padding-bottom: 18px;"></textarea>
Xpath 可以是:
//*[@id='source']
/html/body/div[2]/div[2]/div[1]/div[2]/div[1]/div[1]/div[1]/div[2]/div/div/div[1]/textarea
基本上等待一個元素并發送查詢并點擊提交。
search = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.XPATH, //*[@id='source']))
search.send_keys(query)
search.submit()
還要添加這些
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
添加回答
舉報