C # দিয়ে ওয়েবড্রাইভার (সেলেনিয়াম 2) ব্যবহার করে ব্রাউজার উইন্ডোটি সর্বাধিক করার কোনও উপায় আছে কি?
C # দিয়ে ওয়েবড্রাইভার (সেলেনিয়াম 2) ব্যবহার করে ব্রাউজার উইন্ডোটি সর্বাধিক করার কোনও উপায় আছে কি?
উত্তর:
ওয়েবড্রাইভারে এই কার্যকারিতা যুক্ত করার জন্য একটি অসামান্য সমস্যা রয়েছে, যা এখানে ট্র্যাক করা যেতে পারে: http://code.google.com/p/selenium/issues/detail?id=174
JavascriptExector
নিম্নোক্তভাবে ব্যবহার করার মতো কাজ হবে:
public void resizeTest() {
driver.Navigate().GoToUrl("http://www.example.com/");
((IJavaScriptExecutor)driver).ExecuteScript("window.resizeTo(1024, 768);");
}
screen
অবজেক্টের সাহায্যে এগুলি রান সময়ে পাওয়া যাবে । জাভাস্ক্রিপ্টটি বিবেচনায় রেখে এই বিষয়গুলি গ্রহণ করা সম্ভবত:window.moveTo(0,0); window.resizeTo(screen.width, screen.height);
driver.Manage().Window.Maximize();
এটি IE এবং ফায়ারফক্সের জন্য কাজ করে। ক্রোম কাজ করে না। ChromeDriver প্রকল্পে এর জন্য একটি বাগ জমা দেওয়া হয়েছে।
এদিকে, ক্রোমের সাথে জড়িত হওয়া জো জো এবং ভি কোডার ৩৩৩ এর পরামর্শ কার্যকর করেছে implement
ChromeOptions options = new ChromeOptions();
options.addArgument("--start-maximized");
driver = new ChromeDriver(options);
AttributeError: 'WebDriver' object has no attribute 'Manage'
আইই এবং ফায়ারফক্সের জন্য:
driver.manage().window().maximize();
ক্রোমের জন্য:
ChromeOptions options = new ChromeOptions();
options.addArguments("--start-maximized");
driver = new ChromeDriver( options )
driver.manage().window().maximize();
driver.maximize_window()
@driver.manage.window.maximize
অথবা
max_width, max_height = driver.execute_script("return [window.screen.availWidth, window.screen.availHeight];")
@driver.manage.window.resize_to(max_width, max_height)
অথবা
target_size = Selenium::WebDriver::Dimension.new(1600, 1268)
@driver.manage.window.size = target_size
আপনি এর মতো কিছু ব্যবহার করতে পারেন (সি #):
driver.Manage().Window.Size = new Size(1024, 768);
পরীক্ষার পদক্ষেপ / দৃশ্য:
1. একটি ব্রাউজার খুলুন এবং পরীক্ষা URL এ নেভিগেট করুন
করুন 2. ব্রাউজারটি করুন
সি # (। নেট) দিয়ে ব্রাউজারটি সর্বাধিক করুন:
driver.Manage().Window.Maximize();
জাভা দিয়ে ব্রাউজারটি সর্বোচ্চ করুন:
driver.manage().window().maximize();
জাভা দিয়ে অন্য উপায়:
Toolkit toolkit = Toolkit.getDefaultToolkit();
Dimension screenResolution = new Dimension((int)
toolkit.getScreenSize().getWidth(), (int)
toolkit.getScreenSize().getHeight());
driver.manage().window().setSize(screenResolution);
driver.manage().window().setPosition(new Point(0,0));
শেষ লাইনের আগে আমাকে যুক্ত করতে হয়েছিল বা উইন্ডোটি সঠিক অবস্থানে থাকবে না।
Window.Maximize()
কমান্ডটি সহজভাবে ব্যবহার করুন
WebDriver driver= new ChromeDriver()
driver.Manage().Window.Maximize();
নিম্নলিখিত সেলেনিয়াম জাভা কোড স্নিপেট আমার জন্য কাজ করেছে:
driver.manage().window().setPosition(new Point(0,0));
java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
Dimension dim = new Dimension((int) screenSize.getWidth(), (int) screenSize.getHeight());
driver.manage().window().setSize(dim);
জাভার জন্য:
driver.manage().window().maximize();
এটি আইই, মজিলা, ক্রোমে কাজ করবে
সি # এর জন্য:
driver.Manage().Window.Maximize();
জাভার জন্য:
driver.manage().window().maximize();
আমরা নতুন ড্রাইভার লাইব্রেরি সহ বাগ পর্যবেক্ষণ করেছি। আপনি সামান্য পুরানো জারগুলি ব্যবহার করতে পারেন যা নতুন ব্রাউজার সংস্করণগুলি পরিচালনা করতে সক্ষম।
মূল জেনেরিক বিকল্পটি হ'ল: -
driver.manage().window().maximize();
আপনি ব্রাউজার উইন্ডো সর্বাধিককরণের জন্য অন্যান্য বিকল্পও ব্যবহার করতে পারেন।
উদাহরণ: -
নীচের বিকল্পটি যুক্ত করুন এবং এটি ড্রাইভারকে দিন: -
chromeOptions.addArguments("--start-maximized");
পুরো কোডটি নীচের মত দেখাবে: -
System.setProperty("webdriver.chrome.driver","D:\\Workspace\\JmeterWebdriverProject\\src\\lib\\chromedriver.exe");
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.addArguments("--start-maximized");
driver = new ChromeDriver(chromeOptions);
অথবা
Toolkit toolkit = Toolkit.getDefaultToolkit();
int Width = (int) toolkit.getScreenSize().getWidth();
int Height = (int)toolkit.getScreenSize().getHeight();
//For Dimension class, Import following library "org.openqa.selenium.Dimension"
driver.manage().window().setSize(new Dimension(Width,Height));
driver.get("https://google.com");
সাফারিতে এটি ব্যবহার করে দেখুন: -
JavascriptExecutor jse = (JavascriptExecutor)driver;
String screenWidth = jse.executeScript("return screen.availWidth").toString();
String screenHeight = jse.executeScript("return screen.availHeight").toString();
int intScreenWidth = Integer.parseInt(screenWidth);
int intScreenHeight = Integer.parseInt(screenHeight);
Dimension d = new Dimension(intScreenWidth, intScreenHeight);
driver.manage.window.setSize(d);
using System.Windows.Forms;
using System.Drawing;
public static void MaximizeBrowser(this IE myBrowser)
{
myBrowser.SizeWindow(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
}
আমি জিমের কোড ব্যবহার করেছি, তবে ব্রাউজারটি সর্বাধিকীকরণের জন্য ওয়াটিএন এবং সি # এর সাথে ব্যবহারের জন্য সামান্য সংশোধন করেছি।
আপনি ওয়েবড্রাইভারে সেলেনিয়াম এমুলেশন ব্যবহার করতে পারেন :
selenium = new WebDriverBackedSelenium(driver,url);
selenium.windowMaximize();
পাইথনের উইন্ডো সর্বাধিক করার জন্য একটি ফাংশন রয়েছে যা উইন্ডো_ম্যাক্সিমাইজ ()। এবং এটিই আমি এটি ব্যবহার করছি। আশা করি এটি সহায়তা করে -
from selenium import selenium
sel = selenium('localhost', 4444, '*firefox', 'http://10.77.21.67/')
sel.start()
sel.open('/')
sel.wait_for_page_to_load(60000)
#sel.window_focus()
sel.window_maximize()
png = sel.capture_screenshot_to_string()
f = open('screenshot.png', 'wb')
f.write(png.decode('base64'))
f.close()
sel.stop()
সি # ক্লায়েন্ট ড্রাইভার:
driver = new FirefoxDriver(firefoxProfile);
driver.Manage().Window.Size = new System.Drawing.Size(System.Windows.Forms.Screen.PrimaryScreen.WorkingArea.Width+10, System.Windows.Forms.Screen.PrimaryScreen.WorkingArea.Height+10);
===> .NET সমাবেশ "সিস্টেম. উইন্ডোজ.ফর্মস" এ একটি রেফারেন্স যুক্ত করুন
... একমাত্র সমস্যা হ'ল এটি সঠিকভাবে অবস্থিত নয়
... আপনি যদি এটি সংশোধন করতে পারেন তবে দয়া করে মন্তব্য করুন
সি # তে আমার জন্য যা কাজ করেছে তা এখানে, ফায়ারফক্সড্রাইভার শ্রেণিতে বিশ্বব্যাপী:
ব্যবহারে:
using System.Drawing;
using System.Windows.Forms;
কোডে:
this.firefoxDriver = new FirefoxDriver();
this.firefoxDriver.Manage().Window.Position = new Point(0, 0);
this.firefoxDriver.Manage().Window.Size = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
Webdriverjs (node.js) এর জন্য, নিম্নলিখিত ক্রোম উইন্ডোটি সর্বাধিক করে তোলে।
var webdriver = require('selenium-webdriver');
var driver = new webdriver.Builder().
withCapabilities(webdriver.Capabilities.chrome()).build();
driver.manage().window().maximize();
driver.get('hxxp://localhost:8888');
নীচের কোডের লাইনটি আইই, ক্রোম এবং মজিলাকে সর্বাধিকীকরণ করবে
driver.manage().window().maximize();
পোস্টে উল্লিখিত কোডের উপরের লাইন এবং অন্যান্য কাজের ক্ষেত্রগুলি নোডওয়েবকিট ব্রাউজারের জন্য কাজ করে না, সুতরাং কাজের হিসাবে আমাকে নীচের বর্ণিত নেটিভ সি # কোড ব্যবহার করতে হয়েছিল:
public static void MaximiseNWKBrowser(IWebDriver d)
{
var body = UICommon.GetElement(By.TagName("body"), d);
body.Click();
string alt = "%";
string space = " ";
string down = "{DOWN}";
string enter = "{ENTER}";
SendKeys.SendWait(alt + space);
for(var i = 1; i <= 6; i++)
{
SendKeys.SendWait(down);
}
SendKeys.SendWait(enter);
}
সুতরাং এই কর্মপরিকল্পনাটি বিকল্পগুলি এবং "ENTER" থেকে "MAXIMIZE" নির্বাচন করতে ব্রাউজারের ক্রিয়া মেনুটি আনতে মূলত "ALT + SPACE" ব্যবহার করে
আমি উপরের উত্তরগুলির অনেকগুলি চেষ্টা করেছিলাম, তবে কোনওটিই ভাল কাজ করে না। আমার ক্রোম ড্রাইভারের সংস্করণটি 2.7 এবং সেলেনিয়াম-জাভা ভেরেন ব্যবহার করে আইএমটি 2.9.0। অফিসিয়াল ডকুমেন্টটি ব্যবহারের পরামর্শ দেয়:
var capabilities = new DesiredCapabilities();
var switches = new List<string>
{
"--start-maximized"
};
capabilities.SetCapability("chrome.switches", switches);
new ChromeDriver(chromedriver_path, capabilities);
উপরেরটিও কাজ করে না। আমি ক্রোম ড্রাইভারটি পরীক্ষা করেছি JsonWireProtocol
:
http://code.google.com/p/selenium/wiki/JsonWireProtocol
ক্রোম ডুবুরি প্রোটোকল উইন্ডো সর্বাধিক করার একটি পদ্ধতি সরবরাহ করে:
/session/:sessionId/window/:windowHandle/maximize,
তবে এই কমান্ডটি সেলেনিয়াম-জাভাতে ব্যবহৃত হয় না। এর অর্থ আপনি নিজে ক্রোমে কমান্ডটি প্রেরণ করেন। একবার আমি এটি কাজ করে।
ক্রোম ড্রাইভার ইতিমধ্যে সমর্থন করে:
জাভা:
webDriver = new ChromeDriver();
webDriver.manage().window().maximize();
আমার জন্য, সেলেনিয়াম ওয়েব ড্রাইভার সি # + ক্রোমের সাথে কাজ করার সময় উপরের কোনও সমাধান সমাধান করেনি:
--start-maximized
- এটি উপেক্ষা করা হয়আমি ইনপুটসিমুলেটর ব্যবহার করে এটি কাজ করার ব্যবস্থা করেছিলাম :
var inputSim = new InputSimulator();
// WinKey + UP = Maximize focused window
inputSim.Keyboard.ModifiedKeyStroke(VirtualKeyCode.LWIN, VirtualKeyCode.UP);
ক্রোম উইন্ডো সর্বাধিক করতে আপনি এই কোডটি দিয়ে চেষ্টা করতে পারেন।
ChromeOptions options = new ChromeOptions();
options.addArguments("--window-size=1920,1080");
WebDriver driver = new ChromeDriver(options);