等待页面加载,然后移动,使用SeleniumWebDriverforPython再次等待



我正在使用selenium来检查搜索结果。我想查看搜索结果并进入详细信息页面。因此,我使用了两次"WebDriverWait till"。第一次等待似乎效果很好,但第二次等待没有效果。

当我加上时间睡眠(0.5(时,它起作用了。但是,我不想用睡眠来做这件事。

你们能检查一下我的剧本吗?对于测试,我已经在脚本中输入了IP地址。我稍后会更改它。


options = webdriver.ChromeOptions()
options.add_argument('--ignore-certificate-errors')
driver = webdriver.Chrome("chromedriver\chromedriver.exe",options=options)
url='https://viz.greynoise.io/query/?gnql=103.151.125.252'
driver.get(url)
WebDriverWait(driver, 7).until(EC.element_to_be_clickable((By.CLASS_NAME, 'grid-container.sidebar-one')))
temp=driver.find_elements_by_xpath('//*[@id="app"]/div/div[2]/div/div[1]/div[2]/div[2]')
if len(temp[0].text) == 0:
print('103.151.125.252' : X')
else:
url='https://viz.greynoise.io/ip/103.151.125.252'

driver.get(url)

WebDriverWait(driver, 7).until(EC.element_to_be_clickable((By.XPATH, '//*[@id="app"]/div/div[2]/div/div[1]/div[2]/ul/div[1]')))

temp=driver.find_elements_by_xpath('//*[@id="app"]/div/div[2]/div/div[1]/div[2]/ul/div[1]')

time.sleep(0.5)
#It's doen't wait without sleep(0.5)
if len(temp) == 0:
print('Possible Scan IP with no Tags')
else:
print(temp[0].text)

不确定为什么不想使用time.sleep,如果它有效,但你也可以使用driver.implicitly_wait(0.5(

最新更新