将html文档注入到硒webdriver中

时间:2019-07-18 19:53:42

标签: python selenium-webdriver

我正在测试一个网站,但是每次都需要我登录,所以我将我要测试的网页保存到了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)

2 个答案:

答案 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)

https://www.youtube.com/watch?v=9UCaZT48Nnw