คำถามติดแท็ก webdriver

WebDriver เป็น API สำหรับควบคุมเว็บเบราว์เซอร์เลียนแบบผู้ใช้จริง ส่วนใหญ่จะใช้สำหรับการทดสอบอัตโนมัติ WebDriver มีการผูกภาษาและไดรเวอร์หลายภาษา (อนุญาตให้ควบคุมเบราว์เซอร์ต่างๆ) หากคำถามของคุณเจาะจงสำหรับคำถามใดคำถามหนึ่งอย่าลืมใส่แท็กที่เหมาะสมด้วย

14
รับแหล่ง HTML ของ WebElement ใน Selenium WebDriver โดยใช้ Python
ฉันกำลังใช้การผูก Python เพื่อเรียกใช้ Selenium WebDriver: from selenium import webdriver wd = webdriver.Firefox() ฉันรู้ว่าฉันสามารถคว้าองค์ประกอบเว็บได้เช่นนี้: elem = wd.find_element_by_css_selector('#my-id') และฉันรู้ว่าฉันสามารถรับซอร์สเต็มหน้าด้วย ... wd.page_source แต่มีเพื่อรับ "แหล่งองค์ประกอบ" หรือไม่ elem.source # <-- returns the HTML as a string ซีเลเนี่ยม webdriver docs สำหรับ Python นั้นไม่มีอยู่จริงและฉันไม่เห็นอะไรเลยในรหัสที่ดูเหมือนว่าจะเปิดใช้งานการทำงานนั้น มีความคิดเกี่ยวกับวิธีที่ดีที่สุดในการเข้าถึง HTML ขององค์ประกอบ (และลูก ๆ ) หรือไม่


24
Selenium c # Webdriver: รอจนกระทั่งมีองค์ประกอบอยู่
ฉันต้องการตรวจสอบให้แน่ใจว่ามีองค์ประกอบอยู่ก่อนที่ webdriver จะเริ่มทำสิ่งต่างๆ ฉันกำลังพยายามทำให้สิ่งนี้เป็นจริง: WebDriverWait wait = new WebDriverWait(driver, new TimeSpan(0,0,5)); wait.Until(By.Id("login")); ฉันส่วนใหญ่ดิ้นรนวิธีการตั้งค่าฟังก์ชั่น anynomous ..

13
วิธีการเลือกค่าเมนูแบบหล่นลงด้วย Selenium โดยใช้ Python?
ฉันจำเป็นต้องเลือกองค์ประกอบจากหนึ่งหล่นลงเมนู ตัวอย่างเช่น: <select id="fruits01" class="select" name="fruits"> <option value="0">Choose your fruits:</option> <option value="1">Banana</option> <option value="2">Mango</option> </select> 1)ก่อนอื่นฉันต้องคลิกมัน ฉันทำนี่: inputElementFruits = driver.find_element_by_xpath("//select[id='fruits']").click() 2)Mangoหลังจากนั้นผมต้องเลือกองค์ประกอบที่ดีให้พูด ฉันพยายามทำด้วยinputElementFruits.send_keys(...)แต่ไม่ได้ผล

16
Selenium Webdriver เปิดหน้าต่างเบราว์เซอร์ในเบื้องหลังได้ไหม
ฉันมีชุดทดสอบซีลีเนียมที่ใช้การทดสอบจำนวนมากและในการทดสอบใหม่แต่ละครั้งมันจะเปิดหน้าต่างเบราว์เซอร์ที่ด้านบนของหน้าต่างอื่น ๆ ที่ฉันเปิดไว้ สั่นสะเทือนมากในขณะที่ทำงานในสภาพแวดล้อมท้องถิ่น มีวิธีใดที่จะบอกซีลีเนียมหรือ OS (MAC) เพื่อเปิดหน้าต่างในพื้นหลัง

13
จะใช้งานกรณีทดสอบ Selenium WebDriver ใน Chrome ได้อย่างไร
ฉันลองสิ่งนี้ WebDriver driver = new ChromeDriver(); แต่ฉันได้รับข้อผิดพลาดเป็น การทดสอบล้มเหลว: setUp (com.TEST): พา ธ ไปยังโปรแกรมควบคุมที่ทำงานได้จะต้องตั้งค่าโดยคุณสมบัติระบบ webdriver.chrome.driver; สำหรับข้อมูลเพิ่มเติมโปรดดูรหัสที่นี่ สามารถดาวน์โหลดเวอร์ชันล่าสุดได้จากลิงก์ ฉันจะทำให้ Chrome ทดสอบกรณีทดสอบ Selenium-WebDriver ได้อย่างไร

13
การรีเฟรชหน้าเว็บโดย WebDriver เมื่อรอเงื่อนไขเฉพาะ
ฉันกำลังมองหาวิธีที่สวยงามกว่านี้ในการรีเฟรชหน้าเว็บในระหว่างการทดสอบ (ฉันใช้ Selenium2) ฉันเพิ่งส่งคีย์ F5 แต่ฉันสงสัยว่าคนขับมีวิธีการรีเฟรชหน้าเว็บทั้งหมดหรือไม่นี่คือรหัสของฉัน while(driver.findElements(By.xpath("//*[text() = 'READY']")).size() == 0 ) driver.findElement(By.xpath("//body")).sendKeys(Keys.F5); //element appear after text READY is presented driver.findElement(By.cssSelector("div.column a")).click(); อาจเป็นทางออกที่ดีกว่าสำหรับการค้นหาองค์ประกอบในหน้ารีเฟรชด้วยตนเอง

24
WebDriverException: ข้อผิดพลาดที่ไม่รู้จัก: ไฟล์ DevToolsActivePort ไม่มีอยู่ในขณะที่พยายามเริ่มต้นเบราว์เซอร์ Chrome
ฉันกำลังพยายามเปิดใช้งาน Chrome ด้วย URL เบราว์เซอร์เปิดตัวและไม่ทำอะไรเลยหลังจากนั้น ฉันเห็นข้อผิดพลาดด้านล่างหลังจาก 1 นาที: Unable to open browser with url: 'https://www.google.com' (Root cause: org.openqa.selenium.WebDriverException: unknown error: DevToolsActivePort file doesn't exist (Driver info: chromedriver=2.39.562718 (9a2698cba08cf5a471a29d30c8b3e12becabb0e9),platform=Windows NT 10.0.15063 x86_64) (WARNING: The server did not provide any stacktrace information) การกำหนดค่าของฉัน: Chrome: 66 ChromeBrowser: 2.39.56 PSทุกอย่างทำงานได้ดีใน Firefox

11
“ องค์ประกอบไม่ได้เชื่อมต่อกับ DOM” StaleElementReferenceException แบบสุ่มอีกต่อไป
ฉันหวังว่ามันเป็นแค่ฉัน แต่ Selenium Webdriver ดูเหมือนเป็นฝันร้ายที่สมบูรณ์ เว็บเบราว์เซอร์ Chrome ใช้งานไม่ได้ในขณะนี้และไดรเวอร์อื่น ๆ ค่อนข้างไม่น่าเชื่อถือหรือดูเหมือนเป็นอย่างนั้น ฉันกำลังต่อสู้กับปัญหาหลายอย่าง แต่นี่คือปัญหาเดียว การทดสอบของฉันจะล้มเหลวด้วยการสุ่ม "org.openqa.selenium.StaleElementReferenceException: Element is no longer attached to the DOM System info: os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.6.0_23'" ฉันใช้ webdriver เวอร์ชั่น 2.0b3 ฉันได้เห็นสิ่งนี้เกิดขึ้นกับไดรเวอร์ FF และ IE วิธีเดียวที่ฉันสามารถป้องกันได้คือเพิ่มการโทรจริงThread.sleepก่อนที่จะเกิดข้อยกเว้น นั่นเป็นวิธีแก้ปัญหาที่ไม่ดีดังนั้นฉันหวังว่าจะมีใครบางคนชี้ให้เห็นข้อผิดพลาดในส่วนของฉันที่จะทำให้ดีขึ้นทั้งหมด

11
เป็นไปได้หรือไม่ที่จะเรียกใช้โปรแกรมควบคุมเว็บซีลีเนียม (Firefox) โดยไม่ใช้ GUI
เรากำลังพิจารณาอัปเกรดเซิร์ฟเวอร์การผลิตของเราจาก Ubuntu- เดสก์ท็อป 10.04 เป็น Ubuntu- เซิร์ฟเวอร์ 12.04 เรามีบริการต่างๆที่ทำงานบนระบบปฏิบัติการเดสก์ท็อปปัจจุบันของเราเช่น Selenium Web Driver คำถามของฉันคือ Selenium Web Driver สามารถเรียกใช้จากระบบที่ใช้ cli ได้หรือไม่? ความคิดทันทีของฉันคือมันทำไม่ได้เพราะมันขึ้นอยู่กับ Firefox แต่ฉันต้องการให้ใครสักคนพิสูจน์ว่าฉันคิดผิด!

17
ข้อผิดพลาดที่ไม่รู้จัก: ผลลัพธ์ของฟังก์ชันการโทรไม่มี 'value' สำหรับ Selenium Send Keys แม้ว่าจะอัปเกรด Chromedriver แล้วก็ตาม
ฉันได้รับข้อผิดพลาดด้านล่างขณะส่งคีย์ ข้อความผลลัพธ์: System.InvalidOperationException : unknown error: call function result missing 'value' (Session info: chrome=65.0.3325.146) (Driver info: chromedriver=2.33.506120 (e3e53437346286c0bc2d2dc9aa4915ba81d9023f),platform=Windows NT 10.0.14393 x86_64) ฉันได้อัปเดตไดรเวอร์ Chrome เป็น 2.36 แต่ยังคงค้นหารหัสสำหรับ 2.33 ความคิดใด ๆ ?

9
วิธีรับรหัสตอบกลับ HTTP โดยใช้ Selenium WebDriver
ฉันได้เขียนการทดสอบด้วย Selenium2 / WebDriver และต้องการทดสอบว่า HTTP Request ส่งคืน HTTP 403 Forbidden หรือไม่ เป็นไปได้หรือไม่ที่จะรับรหัสสถานะการตอบกลับ HTTP ด้วย Selenium WebDriver

7
วิธีบันทึกและโหลดคุกกี้โดยใช้ Python + Selenium WebDriver
ฉันจะบันทึกคุกกี้ทั้งหมดใน Selenium WebDriver ของ Python เป็นไฟล์ txt แล้วโหลดในภายหลังได้อย่างไร เอกสารประกอบไม่ได้บอกอะไรเกี่ยวกับฟังก์ชัน getCookies มากนัก

8
วิธีตั้งค่าขนาดหน้าต่างเบราว์เซอร์เริ่มต้นใน Protractor / WebdriverJS
ด้วยเหตุผลบางประการเมื่อฉันทำการทดสอบในที่ทำงานเบราว์เซอร์จะขยายใหญ่สุด แต่เมื่อฉันเรียกใช้ที่บ้านมันจะเปิดหน้าต่างเบราว์เซอร์ที่มีความกว้างประมาณ 50% เท่านั้น สิ่งนี้ทำให้เกิดความคลาดเคลื่อนในการเลื่อนลง ฯลฯ ดังนั้นฉันจึงอยากให้เปิดหน้าต่างเบราว์เซอร์ที่มีขนาดเท่ากันในทุกเครื่องที่ทำการทดสอบ วิธีใดดีที่สุดในการทำเช่นนี้ (ฉันพบคำตอบสำหรับภาษาอื่น ๆ แต่ไม่สามารถปรับให้เข้ากับจาวาสคริปต์ได้) การเพิ่ม browser.executeScript('window.moveTo(0,0);'+ 'window.resizeTo(screen.width, screen.height);'); ไม่ทำอะไรเลย (เห็นได้ชัดwindow.moveToและwindow.resizeToยังไม่ได้รับการสนับสนุนโดยโครเมี่ยม)

11
ซีลีเนียมสามารถโต้ตอบกับเซสชันเบราว์เซอร์ที่มีอยู่ได้หรือไม่?
มีใครทราบบ้างว่า Selenium (ควรใช้ WebDriver) สามารถสื่อสารและดำเนินการผ่านเบราว์เซอร์ที่ทำงานอยู่ก่อนเปิดตัว Selenium Client ได้หรือไม่? ฉันหมายถึงถ้า Selenium สามารถสื่อสารกับเบราว์เซอร์ได้โดยไม่ต้องใช้ Selenium Server (อาจเป็น Internet Explorer ที่เปิดใช้งานด้วยตนเอง)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.