我需要Selenium以更高的分辨率打开它的web浏览器(最好是最大化)

2024-05-26 21:51:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用Selenium WebDriver并用Python编写代码

我到处找遍了,能找到的最好的东西是用不同的语言写的。我还尝试在SeleniumIDE上使用导出工具,但是当我查看数据时发现该函数不支持导出。

编辑:我之所以需要浏览器以更高的分辨率打开,是因为我正在测试的web应用程序支持tablet分辨率,因此元素因浏览器窗口的分辨率而异。

这是我从IDE中导出的脚本,经过一些修改。


from selenium import webdriver

from selenium.webdriver.common.by import By

from selenium.webdriver.support.ui import Select

from selenium.common.exceptions import NoSuchElementException

import unittest, time, re

from Funk_Lib import RS


class CreatingEditingDeletingVault(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Firefox()
        self.driver.implicitly_wait(30)
        self.base_url = "http://cimdev-qa40/"
        self.verificationErrors = []


    def test_creating_editing_deleting_vault(self):
        driver = self.driver
        driver.get(self.base_url + "/Login?contoller=Home")
        driver.find_element_by_id("UserName").click()
        driver.find_element_by_id("UserName").clear()
        driver.find_element_by_id("UserName").send_keys("user@gocodigo.com")
        driver.find_element_by_name("Password").click()
        driver.find_element_by_name("Password").clear()
        driver.find_element_by_name("Password").send_keys("Codigo#123")
        driver.find_element_by_id("fat-btn").click()
        driver.get(self.base_url + "/Content/Vaults/")
        driver.find_element_by_link_text("Content").click()
        driver.find_element_by_link_text("Vaults").click()
        driver.find_element_by_css_selector("button.btn.dropdown-toggle").click()
        driver.find_element_by_link_text("New vault").click()
        driver.find_element_by_name("Name").clear()
        driver.find_element_by_name("Name").send_keys("Test Vault")
        driver.find_element_by_xpath("//button[@onclick=\"vault_action('createvault', null, $('#CreateVault [name=\\'Name\\']').val())\"]").click()
        driver.find_element_by_css_selector("button.btn.dropdown-toggle").click()
        driver.find_element_by_link_text("Rename vault").click()
        driver.find_element_by_name("Id").click()
        Select(driver.find_element_by_name("Id")).select_by_visible_text("Test Vault")
        driver.find_element_by_css_selector("option[value=\"2\"]").click()
        driver.find_element_by_name("Name").clear()
        driver.find_element_by_name("Name").send_keys("Test Change")
        driver.find_element_by_xpath("//button[@onclick=\"vault_action('renamevault', $('#RenameVault [name=\\'Id\\']').val(), $('#RenameVault [name=\\'Name\\']').val())\"]").click()
        driver.find_element_by_css_selector("button.btn.dropdown-toggle").click()
        driver.find_element_by_link_text("Delete vault").click()
        driver.find_element_by_name("Id").click()
        Select(driver.find_element_by_name("Id")).select_by_visible_text("Test Change")
        driver.find_element_by_css_selector("option[value=\"2\"]").click()
        driver.find_element_by_xpath("//button[@onclick=\"vault_action('deletevault', $('#DeleteVault [name=\\'Id\\']').val(), '')\"]").click()

    def is_element_present(self, how, what):
        try: self.driver.find_element(by=how, value=what)
        except NoSuchElementException, e: return False
        return True

    def tearDown(self):
        self.driver.quit()
        self.assertEqual([], self.verificationErrors)

if __name__ == "__main__":
    unittest.main()

Tags: textnamefromimportselfidbydriver
3条回答
browser = webdriver.Firefox()
url = 'http://www.google.com/'
browser.get(url)
browser.maximize_window()

您可以使用selenium.windowMaxmize();,或者如果您想以某种特定的分辨率运行测试,可以使用

selenium.getEval("window.resizeTo(X, Y); window.moveTo(0,0);")

硒2.31.0

driver = webdriver.Firefox()

# Resize the window to the screen width/height
driver.set_window_size(300, 500)

# Move the window to position x/y
driver.set_window_position(200, 200)

相关问题 更多 >

    热门问题