亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 selenium 清除搜索欄

使用 selenium 清除搜索欄

喵喔喔 2023-12-12 21:34:44
我使用 selenium 來檢查 FB 頁面是否存在。當我在搜索欄中輸入頁面標題時,它工作正常,但在第二次循環之后,頁面的名稱會附加到預覽搜索,我無法找到清除先前搜索的方法。例如,它第一次查找 xyz,然后當我這次只想查找 abc 時,它查找 xyzabc。如何清除搜索欄,以便我可以直接輸入內容而無需先前的輸入?這是我的代碼   for page_target in df.page_name.values:        time.sleep(3)         inputElement = driver.find_element_by_name("q")        inputElement.send_keys(page_target)        inputElement.submit()        time.sleep(5)             html = driver.page_source            soup  = BeautifulSoup(html, 'html.parser').get_text()        title = soup.find(page_target)            #if page exists add 1 to the dic otherwise -1        if title > 0:            dic_holder[page_target] = 1        else:            dic_holder[page_target] = -1                    driver.find_element_by_name("q").clear()                time.sleep(3)
查看完整描述

2 回答

?
UYOU

TA貢獻1878條經驗 獲得超4個贊

您可以使用 WebElement.clear();// 清除先前的搜索項 WebElement.sendkeys(abc);// 插入新的搜索項

另外,我猜您的應用程序中有一個粘性搜索,因此我建議您每次在搜索框中插入內容時都使用此方法


查看完整回答
反對 回復 2023-12-12
?
慕桂英4014372

TA貢獻1871條經驗 獲得超13個贊

幾種方法可以做到:

  1. 使用element.clear()。我看到您已經在代碼中嘗試過,不確定它是如何不起作用的,但我猜它不是文本框或輸入元素?

  2. 使用 JavaScript:driver.execute_script('document.getElementsByName("q")[0].value=""');

  3. 模擬 Ctrl+A?

from selenium.webdriver.common.keys import Keys


elem.send_keys(Keys.CONTROL, 'a')

elem.send_keys("page 1")


查看完整回答
反對 回復 2023-12-12
  • 2 回答
  • 0 關注
  • 224 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號