擅长:python、mysql、java
<p>1摆脱time.sleep(),因为您的测试将变得不可靠和缓慢。使用隐式/显式等待</p>
<p>2如果一个类中有多个类,请使用<code>css</code>或<code>xpath</code>选择器</p>
<pre><code>from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.common.keys import Keys
browser = webdriver.Firefox()
browser.get('https://www.tradingview.com/chart/')
wait = WebDriverWait(browser, 10)
wait.until(EC.element_to_be_clickable((By.ID, "header-toolbar-symbol-search"))).click() # Find the search box
wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, ".search-Hsmn_0WX.upperCase-Hsmn_0WX.input-3n5_2-hI"))).send_keys("VETUSD")
# browser.close()
</code></pre>
<p>在这里,我等待第一个元素是可点击的,第二个元素是可见的,这是Selenium中显式等待工作的一个示例</p>
<p>请注意,我的测试版本有多快</p>