การเขียน selenium webdriver ด้วยภาษา python

แนะนำ สอบถาม ภาษา C สำหรับผู้เริ่มต้น ภาษา Java ภาษา Python

Moderator: mindphp, ผู้ดูแลกระดาน

natnicha001
PHP Hero Member
PHP Hero Member
โพสต์: 119
ลงทะเบียนเมื่อ: 28/08/2017 10:14 am

การเขียน selenium webdriver ด้วยภาษา python

โพสต์โดย natnicha001 » 13/09/2017 10:29 am

อยากทราบว่า : จะทำให้เราเรียกใช้งานปุ่ม โพส และสั่งให้มันสามารถคลิกได้เอง จะมีการเรียกใช้งานอย่างไร

รูปภาพ


รูปภาพ

โค้ด: เลือกทั้งหมด

<input type="submit" accesskey="s" tabindex="6" name="post" value="โพสต์" class="button1 default-submit-action">



โค้ดที่ใช้อยู่ซึ่งไม่สามารถทำงานได้

โค้ด: เลือกทั้งหมด

search7 = browser.find_element_by_name('post')
search7.click()

ภาพประจำตัวสมาชิก
nuattawoot
PHP Super Member
PHP Super Member
โพสต์: 492
ลงทะเบียนเมื่อ: 05/06/2017 9:34 am

Re: การเขียน selenium webdriver ด้วยภาษา python

โพสต์โดย nuattawoot » 13/09/2017 10:51 am

สำหรับคลาสที่มี css_selector

โค้ด: เลือกทั้งหมด

driver.find_element_by_css_selector(".step__footer__continue-btn.btn").click()

by_class_name gets only one class

โค้ด: เลือกทั้งหมด

driver.find_element_by_class_name("step__footer__continue-btn").click()

type='submit' and name='button' are <button> แอตทริบิวต์แท็กที่ไม่ใช่ div

โค้ด: เลือกทั้งหมด

driver.find_element_by_xpath("//button[@type='submit'][@name='button']").click()

natnicha001
PHP Hero Member
PHP Hero Member
โพสต์: 119
ลงทะเบียนเมื่อ: 28/08/2017 10:14 am

Re: การเขียน selenium webdriver ด้วยภาษา python

โพสต์โดย natnicha001 » 13/09/2017 12:56 pm

สำหรับคลาสที่มี css_selector

โค้ด: เลือกทั้งหมด

browser.find_element_by_css_selector("input.button1.default-submit-action").click()


by_class_name gets only one class

โค้ด: เลือกทั้งหมด

browser.find_element_by_class_name("button1").click()


type='submit' and name='button' are <button> แอตทริบิวต์แท็กที่ไม่ใช่ div

โค้ด: เลือกทั้งหมด

browser.find_element_by_xpath("//input[@type='submit'][@name='post']").click()

browser.find_element_by_xpath('//*[@id="postform"]/div[2]/div/fieldset/input[5]').click()


ลองหมดทั้ง 3 แบบแล้วค่ะ แต่ก็ยังไม่ได้

ภาพประจำตัวสมาชิก
nuattawoot
PHP Super Member
PHP Super Member
โพสต์: 492
ลงทะเบียนเมื่อ: 05/06/2017 9:34 am

Re: การเขียน selenium webdriver ด้วยภาษา python

โพสต์โดย nuattawoot » 13/09/2017 6:35 pm

มันขึ้นว่าอะไรครับ เอา Log หรือ Error มาดูครับ

natnicha001
PHP Hero Member
PHP Hero Member
โพสต์: 119
ลงทะเบียนเมื่อ: 28/08/2017 10:14 am

Re: การเขียน selenium webdriver ด้วยภาษา python

โพสต์โดย natnicha001 » 13/09/2017 6:41 pm

โค้ด: เลือกทั้งหมด

/usr/bin/python2.7 /home/com010/m050/test1.py
Traceback (most recent call last):
  File "/home/com010/m050/test1.py", line 38, in <module>
    browser.find_element_by_xpath('// *[ @ id = "postform"] / div[2] / div / fieldset / input[4]').click()#โพส
  File "/home/com010/.local/lib/python2.7/site-packages/selenium/webdriver/remote/webelement.py", line 77, in click
    self._execute(Command.CLICK_ELEMENT)
  File "/home/com010/.local/lib/python2.7/site-packages/selenium/webdriver/remote/webelement.py", line 493, in _execute
    return self._parent.execute(command, params)
  File "/home/com010/.local/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 256, in execute
    self.error_handler.check_response(response)
  File "/home/com010/.local/lib/python2.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 194, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: Element is not clickable at point (744, 720)
  (Session info: chrome=61.0.3163.79)
  (Driver info: chromedriver=2.30.477691 (6ee44a7247c639c0703f291d320bdf05c1531b57),platform=Linux 4.10.0-33-generic x86_64)

ภาพประจำตัวสมาชิก
nuattawoot
PHP Super Member
PHP Super Member
โพสต์: 492
ลงทะเบียนเมื่อ: 05/06/2017 9:34 am

Re: การเขียน selenium webdriver ด้วยภาษา python

โพสต์โดย nuattawoot » 13/09/2017 7:21 pm

รูปแบบการเขียนหน้าจะผิด
ลองใช้ดูครับ

โค้ด: เลือกทั้งหมด

browser.find_element_by_name("post").click()

natnicha001
PHP Hero Member
PHP Hero Member
โพสต์: 119
ลงทะเบียนเมื่อ: 28/08/2017 10:14 am

Re: การเขียน selenium webdriver ด้วยภาษา python

โพสต์โดย natnicha001 » 13/09/2017 7:25 pm

ได้ลองแล้วค่ะ แต่ก็ยังไม่ได้ :(

ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 16309
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: การเขียน selenium webdriver ด้วยภาษา python

โพสต์โดย mindphp » 14/09/2017 7:10 am

ลอง
driver.find_element_by_xpath
หรือ
driver.find_element_by_css_selector
หรือ
driver.find_element_by_id
หรือ
driver.find_element_by_name
แล้วด้วย
.submit()
เช่น

โค้ด: เลือกทั้งหมด

driver.find_element_by_name("ชื่อฟอร์ม").submit()

ถ้าฟอร์มตั้งชื่อไว้
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: viewforum.php?f=29
รับอบรม และพัฒนาระบบ: viewtopic.php?f=6&t=2042


ย้อนกลับไปยัง

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: 2 และ บุคคลทั่วไป 0 ท่าน