我正在测试一个网站,但是每次都需要我登录,所以我将我要测试的网页保存到了html文档中。
im试图通过driver.get('file:///pp.html')打开它,但截至目前,它只是打开文件然后关闭,以下代码均无效:
行= driver.find_elements_by_css_selector(“ table.aui tr”) 对于逐行: projectNames = row.find_elements_by_xpath(“ .// td [1]”) 对于projectNames中的projectName: 打印(projectName.text)
答案 0 :(得分:0)
为了给它一些时间去做事情,我有几种方法可以解决这个问题。
其中之一是设置时间加载页面。
driver = set_page_load_timeout(10)
也许我还会使用时间模块中的time.sleep命令
rows = driver.find_elements_by_css_selector("table.aui tr")
for row in rows:
time.sleep(2)
projectNames = row.find_elements_by_xpath(".//td[1]")
for projectName in projectNames:
time.sleep(1)
print (projectName.text)
time.sleep(1)
最后,如果您的驱动程序快要关闭了,您应该进入WebDriverWait()命令。也许像这样
from selenium.webdriver.support import expected_conditions as EC
row = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.xpath(".//td[1]"))
希望这会有所帮助!祝你好运
答案 1 :(得分:0)
简而言之,您可以加载chrome_profile或浏览器配置文件的副本(无论您使用的是哪种浏览器),以免在第一次后重新登录。
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument("user-data-dir=C:\\Path") #Path to your chrome profile
w = webdriver.Chrome(executable_path="C:\\Path\\To\\chromedriver.exe", chrome_options=options)