我想使用以下代碼從 url-shortner 中提取文本:
import os
from selenium import webdriver
from selenium.webdriver.common.by import By
os.environ['PATH'] = 'C:/Selenium Drivers'
driver = webdriver.Chrome()
driver.implicitly_wait(10)
driver.get('https://pastebin.com/vkuagfwV')
strings = str(driver.find_element(By.CLASS_NAME, 'textarea').text)
strings = strings.replace("\n", " ")
driver.close()
print(strings)
但是在我手動停止網頁停止加載之前,此代碼不起作用。我也嘗試過使用 XPATH,但它沒有用。
uj5u.com熱心網友回復:
而不是在這里implicitly_wait嘗試使用預期條件visibility_of_element_located方法。
同樣如評論中所述,您不需要在str那里使用投射。
請試試這個:
import os
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
os.environ['PATH'] = 'C:/Selenium Drivers'
driver = webdriver.Chrome()
wait = WebDriverWait(driver, 20)
driver.get('https://pastebin.com/vkuagfwV')
strings = wait.until(EC.visibility_of_element_located((By.CLASS_NAME, "textarea"))).text
strings = strings.replace("\n", " ")
driver.close()
print(strings)
UPD
請添加eager pageLoadStrategy配置。
import os
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
os.environ['PATH'] = 'C:/Selenium Drivers'
caps = DesiredCapabilities().CHROME
caps["pageLoadStrategy"] = "eager"
driver = webdriver.Chrome(desired_capabilities=caps, executable_path=r'C:\path\to\chromedriver.exe')
#driver = webdriver.Chrome()
wait = WebDriverWait(driver, 20)
driver.get('https://pastebin.com/vkuagfwV')
strings = wait.until(EC.visibility_of_element_located((By.CLASS_NAME, "textarea"))).text
strings = strings.replace("\n", " ")
driver.close()
print(strings)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/438437.html
標籤:python-3.x 硒 硒铬驱动程序
上一篇:selenium BeautifulSoupfind_all找不到所有:)?
下一篇:Python/Selenium列印元素值回傳<session="xxx",element="xxx">而不是想要的值
