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

ซีลีเนียมเป็นเครื่องมือโอเพนซอร์สยอดนิยมสำหรับการทำให้เว็บเบราว์เซอร์อัตโนมัติ เมื่อใช้แท็กนี้ให้ใส่แท็กอื่น ๆ สำหรับส่วนประกอบเฉพาะที่คุณใช้เช่นซีลีเนียม - เว็บไดร์เวอร์สำหรับการผูกภาษาซีลีเนียม - ไอเดียซีลีเนียมกริด ฯลฯ

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

2
รับค่าส่งคืนของโค้ด Javascript ในซีลีเนียม
ฉันใช้ Selenium2 สำหรับการทดสอบอัตโนมัติบางอย่างในเว็บไซต์ของฉันและฉันต้องการรับค่าส่งคืนของโค้ด Javascript บางส่วน หากฉันมีfoobar()ฟังก์ชัน Javascript ในหน้าเว็บของฉันและฉันต้องการเรียกสิ่งนั้นและรับค่าส่งคืนเป็นรหัส Python ของฉันฉันจะเรียกให้ทำอะไรได้บ้าง?

24
ปล่อย Selenium chromedriver.exe จากหน่วยความจำ
chromedriver.exeฉันจะตั้งค่ารหัสหลามที่จะเรียกใช้ซีลีเนียม ในตอนท้ายของการรันฉันต้องbrowser.close()ปิดอินสแตนซ์ ( browser = webdriver.Chrome()) ฉันเชื่อว่าควรปล่อยchromedriver.exeจากหน่วยความจำ (ฉันใช้ Windows 7) อย่างไรก็ตามหลังจากการรันแต่ละครั้งจะมีหนึ่งchromedriver.exeอินสแตนซ์ที่ยังคงอยู่ในหน่วยความจำ ฉันหวังว่าจะมีวิธีที่ฉันสามารถเขียนบางอย่างใน python เพื่อฆ่าchromedriver.exeกระบวนการนี้ได้ เห็นได้ชัดbrowser.close()ว่าไม่ได้ผล ขอบคุณ.


17
Selenium WebDriver: รอให้หน้าที่ซับซ้อนที่มี JavaScript โหลด
ฉันมีเว็บแอปพลิเคชันที่จะทดสอบกับซีลีเนียม มี JavaScript จำนวนมากที่ทำงานบนการโหลดหน้าเว็บ โค้ด JavaScript นี้เขียนไม่ค่อยดี แต่ไม่สามารถเปลี่ยนแปลงอะไรได้ ดังนั้นการรอให้องค์ประกอบปรากฏใน DOM ด้วยfindElement()วิธีการจึงไม่ใช่ทางเลือก ฉันต้องการสร้างฟังก์ชันทั่วไปใน Java เพื่อรอให้เพจโหลดวิธีแก้ปัญหาที่เป็นไปได้คือ: เรียกใช้ WebDriver รูปแบบ JavaScript สคริปต์และเก็บผลของในตัวแปรสตริงdocument.body.innerHTMLbody เปรียบเทียบbodyตัวแปรกับเวอร์ชันก่อนหน้าของbody. ถ้าพวกเขาจะเหมือนกันจากนั้นตั้งค่าเพิ่มเคาน์เตอร์notChangedCountกำหนดมิฉะนั้นnotChangedCountจะเป็นศูนย์ รอสักครู่ (ตัวอย่างเช่น 50 ms) หากเพจไม่มีการเปลี่ยนแปลงในบางครั้ง (เช่น 500 มิลลิวินาที) ดังนั้นให้notChangedCount >= 10ออกจากลูปมิฉะนั้นวนซ้ำไปที่ขั้นตอนแรก คุณคิดว่าเป็นวิธีแก้ปัญหาที่ถูกต้องหรือไม่?

15
ฉันจะขอให้ Selenium-WebDriver รอสองสามวินาทีใน Java ได้อย่างไร
ฉันกำลังทำงานกับ Java Selenium-WebDriver ฉันเพิ่ม driver.manage().timeouts().implicitlyWait(2, TimeUnit.SECONDS); และ WebElement textbox = driver.findElement(By.id("textbox")); เนื่องจากแอปพลิเคชันของฉันใช้เวลาไม่กี่วินาทีในการโหลดส่วนติดต่อผู้ใช้ ผมจึงตั้งเวลา 2 วินาทีโดยนัย แต่ฉันไม่พบกล่องข้อความองค์ประกอบ จากนั้นฉันก็เพิ่ม Thread.sleep(2000); ตอนนี้ใช้งานได้ดี วิธีไหนดีกว่ากัน

8
Python Selenium เข้าถึงซอร์ส HTML
ฉันจะรับซอร์สHTMLในตัวแปรโดยใช้โมดูลซีลีเนียมกับ Python ได้อย่างไร ฉันต้องการทำสิ่งนี้: from selenium import webdriver browser = webdriver.Firefox() browser.get("http://example.com") if "whatever" in html_source: # Do something else: # Do something else ฉันจะทำเช่นนี้ได้อย่างไร? ฉันไม่รู้วิธีเข้าถึงซอร์ส HTML

10
ซีลีเนียม: ข้อยกเว้น FirefoxProfile ไม่สามารถโหลดโปรไฟล์ได้
ตามคำถามก่อนหน้านี้ฉันได้อัปเดต Selenium เป็นเวอร์ชัน 2.0.1 แต่ตอนนี้ฉันมีข้อผิดพลาดอีกครั้งแม้ว่าไฟล์โปรไฟล์จะอยู่ภายใต้/tmp/webdriver-py-profilecopy: ไฟล์ "/home/sultan/Repository/Django/monitor/app/request.py" บรรทัดที่ 236 ในการดำเนินการ เบราว์เซอร์ = Firefox (โปรไฟล์) ไฟล์ "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/webdriver.py" บรรทัด 46 ใน __init__ self.binary, หมดเวลา), ไฟล์ "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/extension_connection.py" บรรทัด 46 ใน __init__ self.binary.launch_browser (self.profile) ไฟล์ "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/firefox_binary.py" บรรทัด 44 ใน launch_browser self._wait_until_connectable () ไฟล์ "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/firefox_binary.py" บรรทัด 87 ใน _wait_until_connectable เพิ่ม WebDriverException ("ไม่สามารถโหลดโปรไฟล์ได้โปรไฟล์ Dir:% s"% self.profile.path) …

8
วิธีเลือก / รับตัวเลือกแบบเลื่อนลงในซีลีเนียม 2
ฉันกำลังแปลงรหัสซีลีเนียม 1 เป็นซีลีเนียม 2 และไม่พบวิธีง่ายๆในการเลือกป้ายกำกับในเมนูแบบเลื่อนลงหรือรับค่าที่เลือกจากรายการแบบเลื่อนลง คุณรู้วิธีทำในซีลีเนียม 2 หรือไม่? นี่คือสองคำสั่งที่ใช้ได้กับ Selenium 1 แต่ไม่ใช่ใน 2: browser.select("//path_to_drop_down", "Value1"); browser.getSelectedValue("//path_to_drop_down");

5
ฉันจะเรียกใช้ซีลีเนียมใน Xvfb ได้อย่างไร
ฉันใช้อินสแตนซ์ EC2 ดังนั้นจึงไม่มี GUI $pip install selenium $sudo apt-get install firefox xvfb จากนั้นฉันจะทำสิ่งนี้: $Xvfb :1 -screen 0 1024x768x24 2>&1 >/dev/null & $DISPLAY=:1 java -jar selenium-server-standalone-2.0b3.jar 05:08:31.227 INFO - Java: Sun Microsystems Inc. 19.0-b09 05:08:31.229 INFO - OS: Linux 2.6.32-305-ec2 i386 05:08:31.233 INFO - v2.0 [b3], with Core v2.0 [b3] 05:08:32.121 …

9
คลาสได้รับการคอมไพล์โดย Java Environment เวอร์ชันล่าสุด
ขณะรันสคริปต์ซีลีเนียมฉันได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้ใน Eclipse console: คลาสได้รับการคอมไพล์โดย Java Environment เวอร์ชันล่าสุด (ไฟล์คลาสเวอร์ชัน 53.0) เวอร์ชัน Java Runtime นี้รู้จักเวอร์ชันไฟล์คลาสสูงสุด 52.0 เท่านั้น เวอร์ชัน Java: 8 IDE: Eclipse Oxygen เวอร์ชัน Firefox: 46

12
เป็นไปได้ไหมที่จะซ่อนเบราว์เซอร์ใน Selenium RC
ฉันใช้ Selenium RC เพื่อทำให้การทำงานของเบราว์เซอร์เป็นไปโดยอัตโนมัติ แต่ฉันต้องการให้เบราว์เซอร์มองไม่เห็น เป็นไปได้หรือไม่ อย่างไร? แล้ว Selenium Grid ล่ะ? ฉันสามารถซ่อนหน้าต่าง Selenium RC ได้หรือไม่

11
ข้อเสนอแนะสำหรับการทดสอบโค้ด extjs ในเบราว์เซอร์ควรใช้ซีลีเนียมหรือไม่
เราใช้ซีลีเนียมประสบความสำเร็จอย่างมากในการจัดการกับการทดสอบเว็บไซต์ระดับสูง (นอกเหนือจากการทดสอบเกี่ยวกับงูหลามในระดับโมดูล) อย่างไรก็ตามตอนนี้เรากำลังใช้ extjs สำหรับเพจจำนวนมากและพิสูจน์ได้ยากที่จะรวมการทดสอบซีลีเนียมสำหรับส่วนประกอบที่ซับซ้อนเช่นกริด มีใครประสบความสำเร็จในการเขียนการทดสอบอัตโนมัติสำหรับหน้าเว็บที่ใช้ extjs บ้าง? Googling จำนวนมากพบผู้ที่มีปัญหาคล้ายกัน แต่มีคำตอบเพียงไม่กี่คำ ขอบคุณ!


6
วิธีการเลือกโหนดที่ระบุภายในโหนด Xpath กำหนดโดยดัชนีด้วยซีลีเนียม
ฉันกำลังเขียนแบบทดสอบซีลีเนียม นี่คือนิพจน์ xpath ที่ฉันใช้เพื่อจับคู่ปุ่ม 'แก้ไข' ทั้งหมดภายในตารางข้อมูล //img[@title='Modify'] คำถามของฉันคือฉันจะไปที่โหนดที่ตรงกันที่กำหนดโดยดัชนีได้อย่างไร ฉันได้ลองกับ //img[@title='Modify'][i] และ //img[@title='Modify' and position() = i] แต่ก็ไม่ได้ผล .. ฉันลองใช้ XPath checker ด้วย (ส่วนขยาย Firefox ตัวเดียว) พบการแข่งขันทั้งหมด 13 รายการแล้วฉันไม่รู้เลยว่าฉันจะเลือกหนึ่งในนั้นได้อย่างไร .. หรือ XPath รองรับการเลือกโหนดที่ระบุซึ่งไม่อยู่ภายใต้โหนดหลักเดียวกัน?
92 xpath  selenium 

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