Chromedriver 78 এর সাথে সম্ভাব্য সমস্যা, সেলেনিয়াম Chrome এ খোলা পিডিএফটির ওয়েব উপাদান খুঁজে পাচ্ছে না


17

আমার গুগল ক্রোম 78 78 সংস্করণে আপডেট না করা পর্যন্ত আমার কোডটি ভাল কাজ করেছে। আমি ক্রোমড্রাইভার 78.0.3904.70 সংস্করণে আপডেট করেছি। সুতরাং আমি সেলেনিয়াম ওয়েবড্রাইভার এবং জাভা ব্যবহার করে আইডি = 'প্লাগইন' দিয়ে ওয়েব এলিমেন্টটি আর খুঁজে পাচ্ছি না:

<html>
<div id="content">
<embed id="plugin" type="application/x-google-chrome-pdf" src="http://??????????/offer_printed.php?printable=yes&amp;reanudar=&amp;>
</div>
</html>

এই অংশটি ব্যতীত আমার পরীক্ষাগুলি ঠিকঠাক চলছে। আমার আগে এর আগে কখনও এ জাতীয় সমস্যা ছিল না। আমি ওয়েবেলেট আইডি = 'সামগ্রী' সন্ধান করার চেষ্টাও করেছি তবে আমি একই ত্রুটি পেয়েছি।

WebDriverWait wait = new WebDriverWait (driver, 90);
WebElement scrollvalid = wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("plugin")));

scrollvalid.sendKeys(Keys.PAGE_DOWN);                       scrollvalid.sendKeys(Keys.PAGE_DOWN);

আমার অটোমেশন স্ক্রিপ্টের পিডিএফ উপাদানটি খুঁজে পাওয়া উচিত এবং পৃষ্ঠাটি নীচে স্ক্রোল করা উচিত। পরিবর্তে, আমি এই ত্রুটিটি পেয়েছি: org.openqa.selenium.TimeoutException: বাই.আইডি: প্লাগইন দ্বারা অবস্থিত উপাদানটির দৃশ্যমানতার জন্য অপেক্ষা 90 সেকেন্ড পরে সময় শেষ হয়েছে

কেউ কি একই ধরনের সমস্যার মুখোমুখি? আগাম ধন্যবাদ.


আজ আমি গুগল ক্রোম version 78 সংস্করণ এবং installed version সংস্করণ ইনস্টল করেছি এবং আমার অটোমেশন পরীক্ষাটি আবার কাজ করে। সবকিছু নিখুঁতভাবে কাজ করে। আমি আশা করি 78৮ সংস্করণ সহ এই সমস্যাটি ঠিক হয়ে যাবে। সুতরাং আমি ক্রোমড্রাইভার (version 78 সংস্করণ) ব্যবহার করছিলাম এবং আমার .pom ফাইলে আমার নীচের নির্ভরতা রয়েছে: <d dependency> <groupId> org.seleniumhq.selenium </groupId> <artifactId> সেলেনিয়াম-ক্রোম-ড্রাইভার </ ਆਰটিফ্যাক্ট আইডি> <version> 3.141.59 </version> </d dependency>
মিশ্রিত করুন

আমি একই সমস্যা হচ্ছে না। কোড যা পূর্বে কাজ করেছে, এখন ব্যর্থ হয়েছে কারণ ওয়েব ড্রাইভারটি আমি যে ওয়েব উপাদান সনাক্ত করতে চেষ্টা করছি তা সনাক্ত করতে ব্যর্থ। সুস্পষ্ট এবং স্পষ্ট অপেক্ষা একই ব্যর্থ। আমি যা চিহ্নিত করতে সক্ষম হইনি তা হ'ল এটির ধরণের উপাদানগুলির সাথে এটির সমস্যা রয়েছে বা এটি যদি কেবল একটি আইফ্রেমের অভ্যন্তরে অবস্থিত উপাদান components কার্যকারণ হিসাবে, আমি Thread.sleepএই আপডেটের আগে যে জায়গাগুলিতে স্পষ্ট বা স্পষ্টভাবে অপেক্ষা করেছি সেখানে আমি যুক্ত করছি।
hfontanez

ক্রোমড্রাইভার 77 সহ ক্রোম 78 আমার পক্ষে কাজ করে।
ইউন

উত্তর:


5

আমি একই ইস্যু চালিয়েছি।

দৃশ্যত ক্রোম স্বয়ংক্রিয়ভাবে আপডেট হয়। গতকাল (২৯ অক্টোবর '19) আমার ক্রোমড্রাইভার অভিযোগ শুরু করে যে এটি ক্রোম 78 এর সাথে সামঞ্জস্যপূর্ণ নয় I আমি ড্রাইভারটিকে the 78 সংস্করণে আপডেট করেছি। আমি নিশ্চিত হয়েছি যে উপাদানগুলি রয়েছে সেগুলি সন্ধান করার সময় আমি এলোমেলোভাবে org.openqa.selenium.NoSuchElementException ব্যতিক্রম পেতে শুরু করেছি। যখন আমি ব্রেকপয়েন্ট ব্যবহার করতাম তখন ফাইন্ড এলিমেন্ট [গুলি ]ও কাজ করে। আমি কেবলমাত্র সীমিত সাফল্যের সাথে অন্তর্নিহিত অপেক্ষার চেষ্টাও করেছি।

আমি zsbappa এর ক্রোমপশন সমাধানটি চেষ্টা করেছিলাম তবে কোনও আনন্দ নেই।

গুগলের ক্রোমের পুরানো সংস্করণগুলি পাওয়া শক্ত করে তবে আমি https://www.neowin.net/news/google-chrome-76-offline-installer/ এ 76 76 সংস্করণ পেয়েছি । সাবধান, অনলাইন ইনস্টলারটি সর্বশেষতম সংস্করণ ইনস্টল করে। আমি 76 এর জন্য ড্রাইভারের কাছে ফিরে এসেছি এবং সব ভাল। আমার সমস্ত সেলেনিয়াম পরীক্ষা আবার কাজ করছে।

আমার উপসংহারটি হ'ল ক্রোম and it's এবং এর সাথে সম্পর্কিত ড্রাইভারের একটি রেসের শর্ত রয়েছে যেখানে সেলেনিয়াম ওয়েব পৃষ্ঠাটি সম্পূর্ণ হওয়ার আগে জিজ্ঞাসাবাদ করার চেষ্টা করে।


আমি ChromeDriver বিকাশকারীদের সাথে ইস্যু 3198 খুললাম opened
wdtj

1
আমি আমার ইস্যুতে নিম্নলিখিত প্রতিক্রিয়া পেয়েছি: এই সমস্যাটি রিপোর্ট করার জন্য আপনাকে ধন্যবাদ। Version 77 সংস্করণ অনুসারে, নতুন পৃষ্ঠাতে নেভিগেট করার সময়, বা উইন্ডো স্যুইচ করার সময় ক্রোমড্রাইভার ফ্রেম বা আইফ্রেমগুলি লোড হওয়ার জন্য অপেক্ষা করে না। এটি সংস্থানগুলি প্রাপ্ত হওয়ার জন্য সংস্থানগুলির প্রয়োজনীয়তার পরিচয় দেয় resources বেশিরভাগ বাইন্ডিংয়ের সুস্পষ্ট অপেক্ষার পাশাপাশি অন্তর্নিহিত অপেক্ষা সেটিংসও থাকে। আরও তথ্যের জন্য সেলেনিয়াম ডকুমেন্টেশনে ওয়েবড্রাইভারওয়েট অনুসন্ধান করুন।
wdtj

তবে আমরা সুস্পষ্ট অপেক্ষাগুলি ব্যবহার করছি এবং এটি কোনও সহায়ক নয়। এটি iframes পরিবর্তন করতে সহায়তা করে তবে এম্বেড পিডিএফ এর জন্য এইচটিএমএল ট্যাগগুলি আর দৃশ্যমান নয়।
মিশ্রিত করুন

আমি ক্রোমড্রাইভার গ্রুপে একটি নতুন সমস্যা খুললাম: bugs.chromium.org/p/chromedriver/issues/detail?id=3211
মিক্স

আপনি পরীক্ষার জন্য ক্রোমিয়াম ব্যবহার করতে পারেন, এটি গুগল পরিষেবাগুলি ছাড়াই ক্রোমের একটি প্রাথমিক সংস্করণ, এটি নিজেই আপডেট হবে না এবং এটি ক্রোমড্রাইভারের সাথে দুর্দান্ত কাজ করে: ক্রোমিয়াম.আর.জিটিং
ব্লাইজ

3

আমরা ক্রোম 78.0.3904.7, Chromedriver 77/78, পাইথন সেলেনিয়াম 3.141.0 এর সাথে একই ধরণের সমস্যার মুখোমুখি হয়েছি।

আমাদের অটোমেটেড পাইথন সেলেনিয়াম পরীক্ষাগুলিতে আমরা একাধিক ব্যর্থতা দেখেছি যেখানে দেখা যায় যে উপাদানগুলির ক্লিকগুলি ঘটেনি। এমনকি অপরিচিত, এটি প্রদর্শিত হয় যে উপাদানটি সক্রিয় হয়ে উঠেছে (যেন এটি ক্লিক করার কথা ছিল) তবে আসল ক্লিক ইভেন্টটি কখনও ঘটেনি। ফলস্বরূপ, পৃষ্ঠা স্যুইচ ইত্যাদির ফলে বিভিন্ন ডাউন স্ট্রিম ব্যর্থতা দেখা দেয় না।

ট্রেইল এবং ত্রুটির প্রক্রিয়া দ্বারা আমরা দেখতে পেয়েছি যে স্ট্যান্ডার্ড। ক্লিক () ফাংশনটি ব্যবহার করা এখন নির্ভরযোগ্য নয়:

webdriver_element.click()

তবে অ্যাকশন চেইন ব্যবহার করা নির্ভরযোগ্য বলে মনে হচ্ছে:

ActionChains(context.browser).click(webdriver_element).perform()

কেন বিষয়টি এই বিষয়টি পরিষ্কার নয়। আমরা ক্রোম Chrome Chrome.০.৩৯০৪.। এ আপগ্রেড করার সাথে সাথে ব্যর্থতাগুলি শুরু হয়েছিল। আমরা Chromedriver 77.0.3865.90 ব্যবহার করছি তবে একই পরীক্ষাগুলি নির্ভরযোগ্যভাবে Chrome। 77.x সংস্করণে পাস করেছে সুতরাং এটি কিছু ভুল হয়েছে বা Chrome in 78 এ পরিবর্তিত হয়েছে বলে মনে হয়।


এটি আমাকে বেশ কিছুটা সাহায্য করেছে, ধন্যবাদ
পাইডোন

1

নিম্নলিখিত যুক্তি যুক্ত করে আমি আমার সমস্যার সমাধান করেছি।

   ChromeOptions options = new ChromeOptions();
    options.addArguments("--disable-gpu");
    options.addArguments("--disable-extensions");
    options.setExperimentalOption("useAutomationExtension", false);
    options.addArguments("--window-size=1920,1080");
    options.merge(seleniumCapabilities);
    driver = new ChromeDriver(options);

হাই @zsbappa! ধন্যবাদ তোমার উত্তরের জন্য. তবে এটি আমার সমস্যার সমাধান করে না। সমস্যাটি হ'ল ক্রোমড্রাইভার (version 78 সংস্করণ) এম্বেডড পিডিএফ-তে কোনও ওয়েব উপাদান খুঁজে পাচ্ছে না। গুগল ক্রোম 78 78 সংস্করণে আপডেট না হওয়া পর্যন্ত এই কার্যকারিতাটি দুর্দান্ত কাজ করেছে PS পিএস আমি হেডলেস মোডে আমার পরীক্ষা চালাচ্ছি না
মিশ্রিত করুন

এই বিকল্পগুলি কীভাবে ওপিএস সমস্যা সমাধান করে তা পরিষ্কার নয়।
Cal Corbin

এটি সমস্যার সমাধান করে না। সম্ভবত, আপনি এমন দৃশ্যাবলী চালিয়ে যাচ্ছেন যেখানে ওয়েব উপাদানটি কোনও আইফ্রেমের অভ্যন্তরে নেই।
hfontanez

1

আমি যদি ইফরামের ভিতরে কোনও ট্যাব অ্যাক্সেস করার চেষ্টা করি তখন আমি একই সমস্যার মুখোমুখি হয়েছি 76, সংস্করণে এটি সূক্ষ্ম কাজ করত Now এখন এটি নিজেকে 78৮-তে আপডেট করেছে, এটি ব্যর্থ হচ্ছে। এক্সপ্যাথ, সিএসএস, আইডি, স্যুইচ প্রসঙ্গ, ভিউ অবধি স্ক্রোল ইত্যাদি ব্যবহার করে অপেক্ষা করুন, অন্তর্ভুক্ত অপেক্ষা করুন, ঘুমাতে চেষ্টা করুন, উপাদানগুলি সনাক্ত করুন। আমি উইন্ডোজ 10, 1809 ব্যবহার করছি other অন্যান্য ওএসে এটি ঘটছে কিনা তা আমি জানি না।

আমি উত্থাপিত প্রশ্ন এখানে:

ক্রোমড্রাইভার 78.0.3904.70 লোকেটার ব্যবহার করে সমস্যা


1

আমি গতকাল নিশ্চিত করেছি যে এই সমস্যাটি কেবল তখনই প্রকাশিত হবে যখন কোনও আইফ্রেমে কোনও উপাদান থাকে element এই ক্ষেত্রে, iframe জরিমানা অবস্থিত। তবে ড্রাইভার বা ওয়েব ড্রাইভার ওয়েট অবজেক্ট ব্যবহার করে কোনও ওয়েব উপাদান সনাক্ত করার চেষ্টা করার ফলে যথাক্রমে এক NoSuchElementবা TimeoutExceptionযথাক্রমে ফলাফল আসবে ।

আমি ক্রোমড্রাইভার টিমকে ভার্বোজ ক্রোম ড্রাইভার লগ সরবরাহ করেছি এবং তারা এতে কাজ করছে।

আপডেট : ক্রোমড্রাইভার ইস্যু থেকে 3223

লগগুলি দেখায় যে ফ্রেমটির জন্য ফাইনাল এক্সিকিউশন কনটেক্সট ক্রিয়েটেড ফাইন্ডেলমেন্টটি শূন্য না হওয়া পর্যন্ত শেষ হয় না। Version 77 সংস্করণে শুরু করে ক্রোমড্রাইভার নেভিগেশন চালিয়ে যাওয়ার আগে সমস্ত ফ্রেম লোড হওয়ার জন্য অপেক্ষা করা বন্ধ করে দিয়েছে। দুর্ভাগ্যক্রমে, এই পরিবর্তনটি বর্তমান ফ্রেমের লোড হওয়ার জন্য অপেক্ষা করতে বাধা দিয়েছে। 3164 বর্তমান ফ্রেমটি লোড হওয়ার জন্য সমস্ত অপেক্ষা করবে; ফ্রেম লোডিং বন্ধ হয়ে যায় এবং এক্সিকিউশনকন্টেক্সট তৈরি না হওয়া অবধি অনুসন্ধানী উপাদানটিকে অনুসন্ধান থেকে আটকাতে হবে।

মূলত, এই বাগটি v.77 সালে চালু হয়েছিল। আমরা অনেকেই এই সমস্যাটি লক্ষ্য করেছি কারণ আমরা v.76 থেকে .v78 এ আপগ্রেড করেছি। শব্দটি হ'ল তারা .v80 (v। 79 নয়) এর জন্য একটি লক্ষ্যকে লক্ষ্য করছে। কার্যকারণ হিসাবে, আমি ইফ্রেমে Thread.sleepস্যুইচ করার সময় এবং যখন আমি উপাদানটি সনাক্ত করার চেষ্টা করি তার মধ্যে আমি ব্যবহার করছি । এই workaround ঠিক কাজ করে। আসলে, আপনি কেবল নিজের অ্যাপ্লিকেশনটি ডিইবিইউজি মোডে চালিয়ে নিজেই এটি যাচাই করতে পারেন। যখন আপনি মৃত্যুদন্ড কার্যকর করেন (ব্রেকআপপয়েন্ট ব্যবহার করে), আপনি লক্ষ্য করবেন যে আপনার মূল কোডটি (ঘুম ছাড়া) ভাল কাজ করে।


0

উদাহরণস্বরূপ: আপনি এই কীওয়ার্ডগুলি ব্যবহার করে দেখতে পারেন!

1. implicit_wait=10
2. Sleep  10

হাই @ নারসিংহামূর্তি জিএন, আপনার উত্তরের জন্য আপনাকে ধন্যবাদ সুস্পষ্ট অপেক্ষা অপেক্ষা কোনও সমস্যা নয়, আমি আমার সমস্ত পরীক্ষাগুলিতে এক্সপ্লিট ওয়েটস ব্যবহার করছি এবং আমি একই ধরণের সমস্যার মুখোমুখি হই না। সমস্যাটি হ'ল ক্রোমড্রাইভার (version 78 সংস্করণ) এম্বেডড পিডিএফ-তে কোনও ওয়েব উপাদান খুঁজে পাচ্ছে না।
মিশ্রিত করুন

আমার জন্য কিছু পরীক্ষার ক্ষেত্রেও আমি "গেকোড্রাইভার" (ফায়ারফক্স) ব্যবহার করেছি বলে একই সমস্যার মুখোমুখি হয়েছি।
নরসিমহমূর্তি জিএন

অন্যথায় ওয়েবলেমেন্ট সন্ধানের জন্য বিভিন্ন সেলেনিয়াম লাইব্রেরি লোকেটার কীওয়ার্ড ব্যবহার করুন।
নরসিমহমূর্তি জিএন

দুর্ভাগ্যক্রমে, আমাদের ওয়েব অ্যাপ্লিকেশনটির ব্যবহারকারীরা ক্রোম বা ইন্টারনেট এক্সপ্লোরার ব্যবহার করার পরামর্শ দেওয়া হচ্ছে, ফায়ারফক্স কোনও কারণে সুপারিশ করা হয়নি। এজন্য পরীক্ষাগুলি স্বয়ংক্রিয় করতে ফায়ারফক্স ব্যবহার করতে পারি না। আমি সেলেনিয়াম ব্যবহার করে পিডিএফ-তে কোনও ওয়েব উপাদান খুঁজে পেতে সমস্ত সম্ভাব্য উপায় ব্যবহার করার চেষ্টা করেছি কিন্তু এটি কার্যকর হয় না। আমি বিভিন্ন ডিফেন্ডেনসিড এবং ক্রোমড্রাইভার ব্যবহার করার চেষ্টা করেছি এবং কিছুই কাজ করে না।
মিশ্রিত করুন


0

আমারও একই প্রশ্ন ছিল.

.0 78.০ সংস্করণ সহ ক্রোমকে অটো আপডেট করার পরে, আমার স্বয়ংক্রিয় পরীক্ষার স্ক্রিপ্টগুলি ব্যর্থ হয়েছিল। তাই আমি ক্রোমড্রাইভারটিকে version version সংস্করণে আপডেট করেছি তবে ড্রাইভার এখনও কোনও ওয়েব উপাদান খুঁজে পাচ্ছে না। এর পরে আমি ক্রোমড্রাইভারের একাধিক সংস্করণ দিয়ে চেষ্টা করেছি এবং অবশেষে আমার সমস্যা ক্রোমড্রাইভার সংস্করণ ২.৪৪ দিয়ে সমাধান করা হয়েছে

এই সংস্করণটি https://chromedriver.storage.googleapis.com/index.html?path=2.44/ এ পাওয়া যাবে


-1

আপনি প্যাকেজ ম্যানেজারকে ন্যাজেট করতে পারেন , ক্রোম ড্রাইভ মুছতে পারেন এবং ক্রোম অনুসন্ধান করতে পারবেন , নতুন সংস্করণ ডাউনলোড করুন selenium.web.driver.ChromeDriver >> jsaKamoto এর জন্য

সেখানে আপনি ক্রোম সংস্করণ 78 খুঁজে পাবেন।


প্রতিক্রিয়াটির জন্য ধন্যবাদ, তবে এটি ক্রোম সংস্করণ 78 78
তে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.